Jump to content
Sign in to follow this  
polevser

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

Recommended Posts

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

На сайте есть два горизонтальных меню которые идут в 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 %}

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

если костыль 

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

 

 

 

если костыль 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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 я не силен для глобальных пертурбаций.

Share this post


Link to post
Share on other sites

Спасибо за наводку, но мне нужно именно минимальное использование 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 я не силен для глобальных пертурбаций.

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By 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 для первого товара в списке?
       
      Заранее благодарен за любую помощь!
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.