Перейти к содержанию
polevser

[Решено] Условия для вывода контента при нахождении на той или иной странице if else

Рекомендуемые сообщения

Доброй ночи, пытаюсь интегрировать верстку на движок, столкнулся с множеством вопросов, но хочу просить сначала по мелочи грубо говоря.

На сайте есть два горизонтальных меню которые идут в header.tpl, в которых некоторым пунктам необходимо применять статус active посредством добавления в class="" дополнительного текста в момент когда находимся на определенных страницах, вот пример этих двух меню:

          <ul class="header__menu">
            <li class="header__menu__item"><a href="/about.html" class="header__menu__item__link header__menu__item__link--active">О компании</a></li>
            <li class="header__menu__item"><a href="/news/" class="header__menu__item__link">Новости</a></li>
            <li class="header__menu__item"><a href="#" class="header__menu__item__link">Статьи</a></li>
            <li class="header__menu__item"><a href="/vacancy.html" class="header__menu__item__link">Вакансии</a></li>
            <li class="header__menu__item"><a href="/contacts.html" class="header__menu__item__link">Контакты</a></li>
          </ul>

и

          <ul class="header__menu2">
            <li class="header__menu2__item"><a href="/" class="header__menu2__item__link header__menu2__item__link--active">Главная</a></li>
            <li class="header__menu2__itemli header__menu2__item"><a href="/specials/" class="header__menu2__item__link header__menu2__item__link--action">Акции<i class="icon--sale"></i></a></li>
            <li class="header__menu2__item"><a href="/payment.html" class="header__menu2__item__link">Оплата</a></li>
            <li class="header__menu2__item"><a href="/delivery.html" class="header__menu2__item__link">Доставка</a></li>
            <li class="header__menu2__item dropdown">
<a id="dropdown-1" href="index.html" data-toggle="dropdown" class="header__menu2__item__link header__menu2__item__link--dotted dropdown-toggle">Ещё</a>
              <ul class="header__menu2__drop-list dropdown-menu">
                <li class="header__menu2__drop-list__item"><a href="/warranty.html" class="header__menu2__drop-list__item__link">Гарантийные вопросы</a></li>
                <li class="header__menu2__drop-list__item"><a href="/return-policy.html" class="header__menu2__drop-list__item__link header__menu2__drop-list__item__link--active">Возврат товара</a></li>
                <li class="header__menu2__drop-list__item"><a href="/help.html" class="header__menu2__drop-list__item__link">Помощь</a></li>
              </ul>
            </li>
          </ul>

Как видите, для того чтобы пункт был выделен, используется приписка "--active", так вот хотел бы узнать, можно ли задать условия для добавления этой приписки на определенных страницах?

В моем случае это Главная, модуль Новости, модуль Акции (стандартный от движка), и информационные страницы (раздел "Статьи" в админке) с прописанными, уникальными URL`ами для всех статей-страниц.

 

Чтобы было как можно яснее, то хотелось бы понять, можно ли сделать что-то подобное (пример взят с другого движка):

{% if isHandler('news:main') %} class="active"{% endif %}

{% if isHandler('static') and handler.params.altname == 'legenda' %} class="active"{% endif %}.

{% if isCategory('menu') %} class="active"{% endif %}

 

Заранее буду благодарен любой помощи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас руками всё прописано в меню? Если, да то так делать нельзя, это костыль, а если автоматом, то тогда просто сравниваете текущий Url с Url ссылки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас руками всё прописано в меню? Если, да то так делать нельзя, это костыль, а если автоматом, то тогда просто сравниваете текущий Url с Url ссылки

 

Да, к сожалению именно руками, просто они включают в себя элементы которые ну автоматом в таком порядке наверное не конфигурирует движок никак, то есть это не список же категорий.

 

А можете помочь сделать костыль или сказать как бы это реализовать по уму?

За плату если требуется конечно.

Вот кстати пример того как они расположены: http://albis-sb.ru/verstka/index.html

Верхнее меню и среднее справа от лого.

Был бы очень признателен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, к сожалению именно руками, просто они включают в себя элементы которые ну автоматом в таком порядке наверное не конфигурирует движок никак, то есть это не список же категорий.

 

А можете помочь сделать костыль или сказать как бы это реализовать по уму?

За плату если требуется конечно.

Вот кстати пример того как они расположены: http://albis-sb.ru/verstka/index.html

Верхнее меню и среднее справа от лого.

Был бы очень признателен!

 

Только при помощи модуля

SEO CMS PRO: Блог | Новости | Отзывы | Галерея | Формы

Тогда меню будет в любом порядке и "автоматом"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если костыль 

<?php $sitepage = $_SERVER['REQUEST_URI']; ?>
<a href="/адрес_страницы.html" <?php if ($sitepage == '/адрес_страницы.html') { ?>class="active"<?php } ?>>Ссылка</a>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только при помощи модуля

SEO CMS PRO: Блог | Новости | Отзывы | Галерея | Формы

Тогда меню будет в любом порядке и "автоматом"

Ну это немного не то, я просто не понимаю что именно вы вкладываете в понятие "автоматом" у меня там дополнительный класс для отображения выделения, он уникальный для каждого меню, но это не суть, суть в том что как реализовать выпадающее, получается это 3 виджета надо будет делать, и вопрос как их правильно вывести, усложнение.

 

Но у меня вопрос по отзывам и новостям есть, сейчас использую модуль News 1.5.5 но там проблемы с ЧПУ и с некоторыми другими моментами, а вот с отзывами хотел бы узнать можно ли реализовать на Вашем модуле такое оформление? То есть вывести в шаблон продукта переменную о кол-ве отзывов, и собственно оформить сами отзывы как у меня в верстке? (Общий балл по голосованию, индивидуальные баллы у каждого отзыва, и форма добавления)

 

 

 

если костыль 

<?php $sitepage = $_SERVER['REQUEST_URI']; ?>
<a href="/адрес_страницы.html" <?php if ($sitepage == '/адрес_страницы.html') { ?>class="active"<?php } ?>>Ссылка</a>

Спасибо огромное, как раз то что нужно было, премного признателен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но у меня вопрос по отзывам и новостям есть, сейчас использую модуль News 1.5.5 но там проблемы с ЧПУ и с некоторыми другими моментами, а вот с отзывами хотел бы узнать можно ли реализовать на Вашем модуле такое оформление? То есть вывести в шаблон продукта переменную о кол-ве отзывов, и собственно оформить сами отзывы как у меня в верстке? (Общий балл по голосованию, индивидуальные баллы у каждого отзыва, и форма добавления)

 

Можно сделать лучше! пример приблизительно такой. (внешний вид можно изменять как угодно, есть подключение пользовательских шаблонов)

http://opencartadmin.com/files/version-5.html

Без vqmod без изменений файлов

 

Кстати всё отзывы, формы на страницах и почти все табы, голосовалка, связанный статьи, как и меню сделано модулем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно сделать лучше! пример приблизительно такой. (внешний вид можно изменять как угодно, есть подключение пользовательских шаблонов)

http://opencartadmin.com/files/version-5.html

Без vqmod без изменений файлов

 

Кстати всё отзывы, формы на страницах и почти все табы, голосовалка, связанный статьи, как и меню сделано модулем

Спасибо за наводку, но мне нужно именно минимальное использование JS библиотек и всяких наворотов, то есть simple for simple, я сейчас пока что занимаюсь основными моментами по интеграции верстки, но в заключение я обязательно займусь отзывами, статьями и новостями, поэтому с удовольствием приобрел бы модуль, но хочу сразу спросить, есть ли возможность получить Вашу помощь при интеграции отзывов, тк при верстке была создана "система" проверки форм, вот хотел бы узнать, сможете ли вы помочь по человечески это совместить с модулем, плюс в форме отзывов если вы заметили, выставление оценки идет не через radio а вот таким вот способом:

<div class="leave-comment__form__rating__set">
<i data-value="1" class="icon--star icon--star--full"></i>
<i data-value="2" class="icon--star icon--star--full"></i>
<i data-value="3" class="icon--star icon--star--full"></i>
<i data-value="4" class="icon--star"></i>
<i data-value="5" class="icon--star"></i>
</div>

Поэтому да, я заинтересован в покупке модуля, даже более чем, так как хочется как можно меньше костылей использовать для дальнейшего безболезненного обновления движка, но мне нужна помощь, тк в JS и PHP я не силен для глобальных пертурбаций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за наводку, но мне нужно именно минимальное использование JS библиотек и всяких наворотов, то есть simple for simple, я сейчас пока что занимаюсь основными моментами по интеграции верстки, но в заключение я обязательно займусь отзывами, статьями и новостями, поэтому с удовольствием приобрел бы модуль, но хочу сразу спросить, есть ли возможность получить Вашу помощь при интеграции отзывов, тк при верстке была создана "система" проверки форм, вот хотел бы узнать, сможете ли вы помочь по человечески это совместить с модулем, плюс в форме отзывов если вы заметили, выставление оценки идет не через radio а вот таким вот способом:

<div class="leave-comment__form__rating__set">
<i data-value="1" class="icon--star icon--star--full"></i>
<i data-value="2" class="icon--star icon--star--full"></i>
<i data-value="3" class="icon--star icon--star--full"></i>
<i data-value="4" class="icon--star"></i>
<i data-value="5" class="icon--star"></i>
</div>

Поэтому да, я заинтересован в покупке модуля, даже более чем, так как хочется как можно меньше костылей использовать для дальнейшего безболезненного обновления движка, но мне нужна помощь, тк в JS и PHP я не силен для глобальных пертурбаций.

 

В ЛС отписался, чтобы не засорять тему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От polevser
      Доброй ночи, столкнулся с проблемой оформления при выводе товаров через модуль "Акции" на главной странице магазина, то есть первый товар в списке оформлен иначе чем все последующие, и поэтому возник вопрос, можно ли сделать условие в шаблоне для товара который будет выводится первым в списке?
       
      Вот пример того как это выглядит в идеале:

       
      А вот код в верстке:
              <div class="special-proposal">           <h3 class="special-proposal__title">Специальные предложения по акциям!<i class="icon--sale"></i></h3>           <div class="special-proposal__item special-proposal__item--large">             <a href="index.html" class="special-proposal__item__link">               <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">             </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a>             <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">20 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span>             </p>           </div>           <div class="special-proposal__item special-proposal__item">             <a href="index.html" class="special-proposal__item__link">               <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">             </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a>             <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">2 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span>             </p>           </div>           <div class="special-proposal__item special-proposal__item">             <a href="index.html" class="special-proposal__item__link">               <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">             </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a>             <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">20 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span>             </p>           </div>           <div class="special-proposal__item special-proposal__item">             <a href="index.html" class="special-proposal__item__link">               <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">             </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW SR TMH18LTW</a>             <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">3 333</span><span class="special-proposal__item__price-wrap__currency">руб.</span>             </p>           </div><span class="special-proposal__del-line"></span><a href="index.html" class="special-proposal__view-all">Посмотреть все специальные предложения</a>         </div> То есть по сути идет просто приписка в class="" вида "--large", и встает вопрос, мог ли бы кто нибудь помочь с доработкой, чтобы можно было задать условие в шаблоне?
       
      Вот как сейчас выглядит шаблон, пришлось за комментировать кусок кода, чтобы не рушить все:
              <!-- BEGIN .special-proposal-->         <div class="special-proposal">           <h3 class="special-proposal__title">Специальные предложения по акциям!<i class="icon--sale"></i></h3>       <?php foreach ($products as $product) { ?>           <div class="special-proposal__item special-proposal__item<!-- --large -->">         <?php if ($product['thumb']) { ?>             <a href="<?php echo $product['href']; ?>" class="special-proposal__item__link">               <img src="<?php echo $product['thumb']; ?>" width="155" alt="<?php echo $product['name']; ?>" class="special-proposal__item__link__img">             </a>         <?php } ?>             <a href="<?php echo $product['href']; ?>" class="special-proposal__item__title"><?php echo $product['name']; ?></a>         <?php if ($product['price']) { ?>             <p class="special-proposal__item__price-wrap">           <?php if (!$product['special']) { ?>           <span class="special-proposal__item__price-wrap__old-price"><?php echo $product['price']; ?></span>           <?php } else { ?>           <span class="special-proposal__item__price-wrap__old-price"><?php echo $product['price']; ?></span>           <span class="special-proposal__item__price-wrap__price"><?php echo $product['special']; ?></span>           <?php } ?>             </p>         <?php } ?>           </div>       <?php } ?>           <span class="special-proposal__del-line"></span><a href="/specials/" class="special-proposal__view-all">Посмотреть все специальные предложения</a>         </div>         <!-- END .special-proposal--> Можно ли задать условие if else для первого товара в списке?
       
      Заранее благодарен за любую помощь!
       
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.