Перейти к содержанию
Официальный форум поддержки Simpla

Вывод блоков в заданой категории или странице


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

Приветствую всех! Вопрос такого рода можно ли вывести информацию или блок с информацией не важно что хоть картинку, в заданой категории или странице. Не буду сравнивать но за пример возьму дле там к примеру можно подтянуть тот же tpl в определенной категории. В simple увидел почти похожее это корзина подтягиваться через инклуд, это хорошо но реально ли сделать что бы вывод был только в определенной категории или категориях. А так же страница? И если да то какие теги использовать или используються smarty для этого?

 

Буду благодарен за разъяснение!

 

 

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 51
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

1. Отдельный шаблон для страниц

Возьмем например страницу Блога, для того чтобы обернуть центральный блок в шаблон, отличный от index.tpl надо в blog.tpl в самый верх вставить {$wrapper = 'index2.tpl' scope=parent}  и у нас получится что blog.tpl будет грузиться в index2.tpl

 

2. Выводим информацию на определенной странице

Вывод только на главной странице:

 

{if $page && $page->url==''}
Нужная информация которая должна выводиться только на главной странице
{/if}
 

 

Вывод на странице с товаром:

 

{if $smarty.get.module=='ProductView' }
Нужная информация которая должна выводиться только на странице товара
{/if}
 

 

Вывод на странице корзины или товар:

 

{if $smarty.get.module=='CartView' || $smarty.get.module=='ProductView'}
Нужная информация которая должна выводиться только на странице корзины
{/if}
CartView, OrderView, ProductView - название модулей, я брал просто название шаблонов пример
cart.tpl - CartView, products.tpl - ProductsView
 
|| - это тоже самое что "ИЛИ" т.е. выводить информацию на странице Корзина или Товар
 
Прошу дополнить знающих людей интересной информацией 
Ссылка на сообщение
Поделиться на другие сайты

|| - это логическое ИЛИ, логическое И - &&
Вместо $smarty.get.module можно просто $module

{if $module=='MainView'}
Нужная информация которая должна выводиться только на главной странице
{/if}
Ссылка на сообщение
Поделиться на другие сайты

от Kosjak76

Вывод информации в определенной категории

{if $category->id == 6}тут инфа в категори под id номер 6{/if}
 
Ссылка на сообщение
Поделиться на другие сайты


{if $page && $page->url==''}
Главная
{elseif $smarty.get.module=='ProductsView'}
Продуктс
{else}
Все остальные страницы
{/if}

 

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

 

от Kosjak76

Вывод информации в определенной категории

{if $category->id == 6}тут инфа в категори под id номер 6{/if}
 

а как сделать чтобы id категории автоматом ставилось текушее (т.е. та которую просматриваеш)?

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

В ProductsView - она уже назначен в шаблон  {$category}

А в других разделах сайта она Вам и не потребуется) ибо это бессмысленно о текущей категории в них говорить.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

 

от Kosjak76

Вывод информации в определенной категории

{if $category->id == 6}тут инфа в категори под id номер 6{/if}
 

 

Отлично - то что я искал, но прошу помощи в синтаксисе

Как написать условие не для одной категории а для нескольких, запятая не подходит :rolleyes:

 

{if $category->id == '10' || $category->id == '9'}тут инфа в категори под id номер 6{/if}

слишком грубый вариант - мб можно проще - категорий с 10 штук

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

Вопрос:

Как написать условие не для одной категории а для нескольких, запятая не подходит :rolleyes:

Ответ:

in_array

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

Спасибо за помощь... in_array(1,3,4,15) не работает :ph34r:

Патамушта параметры не айс.

http://php.net/manual/ru/function.in-array.php

Ссылка на сообщение
Поделиться на другие сайты
  • 10 месяцев спустя...
  • 6 месяцев спустя...
  • 2 недели спустя...
  • 2 месяца спустя...

Вывод определенного блока на нужной странице можно ограничить простым скриптом:

{literal}<script>  $(document).ready(function(){     $("#sld").hide();});</script>{/literal}

#sld - в случае если <div id="sld">

.sld - в случае если <div class="sld">

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

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

 

Зачем так сложно? Mожно стилем

#sid{	display: none;}

 

 

Зачем так сложно? Mожно стилем

#sid{	display: none;}

Ну да так еще проще, просто нашел это решение быстрее)))

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

А как сделать, допустим есть страница сравнения /compare и на ней выключить блоки некоторые например каталог?

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

{if $module!='CompareView'}
тут блоки которые не нужно выводить в сравнении
{/if}
Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

Выбираете страницу где хотите чтоб не было блока определённого

{if $page->id!=4}
тут все что не будет показываться на странице с айди 4
{/if}

Тут стоит 4 - это ид страницы.

 

Просмотр страницы ID можно

https://yadi.sk/i/3R_Ch4p5gdhEj

 

Значит на этой страницы не будет показываться ваш блог

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...