Вы не зашли.
Вопшем я уже запутался у всех этих вариантах размещения блоков в разных местах (глявная, неглавная, в категории и т.д). Хотелось бы ясности как можно размещать блоки. Если кто помнит был такой плагин Елка, хотя он и есть я им дальше пользуюсь, там был пример как его можно использовать наглядно, предлагаю тем кто в этом чтото понимает дописать как можно с помощю Twig выводить следующие
1. Блок только на главной
2. Блок всюду кроме главной
3. Блок только на страничках категорий
4. Блок только на страничках полных новостей
5. Блок только на страничке определенной категории
6. Блок показывать всюду кроме определенной категории
7. Блок показывать всюду кроме определенного плагина
8. Блок на страничке определенной полной новости или полных новостей определенной категории
9. Блок только на страничках поиска
10. Блок только на страничках плагина календар/архив
11. Блок только на страничках регистрации/ввода пароля и т.д.
12. Блок только на страничке плагина тегов
13. Блок только на страничке профиля
14. Блок только на статике
15. Блок всюду кроме статики
16. Блок только на страничке ошыбки
17. Блок на страничке иных плагинов и т.д. может чтото забыл....
18. Блок только на страничках определенной категории как кратких так и полных новостей
и еще одно что такое вывод через Twig и через ifhandler, это одно и тоже или нет? я просто в этом полный ноль) обясните на примерах, типа как вот
1. [ifhandler:news:main]Блок только на главной[/ifhandler]
2. [ifnhandler:news:main]Блок всюду кроме главной[/ifhandler]
3... дальше???
если нето то как тогда все это выводить через Twig и чем лучше?
Думаю такая инфа пригодится всем)
Изменено legenda (2012-08-14 23:38:30)
Не в сети
1. Блок только на главной
при условии что у вас на главной новости
{% if isHandler('news:main') %}
только на главной
{% endif %}
2. Блок всюду кроме главной
при условии что у вас на главной новости
{% if not isHandler('news:main') %}
всюду, кроме главной
{% endif %}
3. Блок только на страничках категорий
{% if isHandler('news:by.category') %}
на всех страничках категориий
{% endif %}
4. Блок только на страничках полных новостей
{% if isHandler('news:news') %}
на всех страничках с полными новостями
{% endif %}
5. Блок только на страничке определенной категории
{% if isCategory('some_cat') %}
Блок на страничке со списком новостей из категории some_cat
{% endif %}
6. Блок показывать всюду кроме определенной категории
{% if not isCategory('some_cat') %}
Блок не показывается на страничке со списком новостей из категории some_cat
{% endif %}
7. Блок показывать всюду кроме определенного плагина
{% if not isHandler('tags') %}
Блок показывать всюду кроме определенного плагина (tags)
{% endif %}
8. Блок на страничке определенной полной новости или полных новостей определенной категории
{% if isHandler('news:news') and handler.params.altname == 'altname_novosti' %}
блок на страничке новости с альтнеймом = altname_novosti
{% endif %}
9. Блок только на страничках поиска
{% if isHandler('search') %}
Блок только на страничках поиска
{% endif %}
10. Блок только на страничках плагина календар/архив
(как я понял, новости в опр промежуток времени)
{% if isHandler('news:by.year') %}
новости за год
{% endif %}{% if isHandler('news:by.month') %}
новости за месяц
{% endif %}{% if isHandler('news:by.day') %}
новости в за день
{% endif %}{% if isHandler('news:by.year|news:by.month') %}
новости за год или за месяц
{% endif %}{% if isHandler('news:by.year|news:by.day') %}
новости за год или за день
{% endif %}{% if isHandler('news:by.month|news:by.day') %}
новости за месяц или за день
{% endif %}{% if isHandler('news:by.year|news:by.month|news:by.day') %}
новости за год или за месяц или за день
{% endif %}
11. Блок только на страничках регистрации/ввода пароля и т.д.
{% if isHandler('core:login') %}
на странице входа
{% endif %}{% if isHandler('core:registration') %}
на странице рег
{% endif %}{% if isHandler('core:lostpassword') %}
на странице востановления пасса
{% endif %}
12. Блок только на страничке плагина тегов
{% if isHandler('tags') %}
на странице тегов
{% endif %}
13. Блок только на страничке профиля
{% if isHandler('uprofile:show') %}
только на страничке профиля
{% endif %}
{% if isHandler('uprofile:edit') %}
только на страничке редактированния профиля
{% endif %}
14. Блок только на статике
{% if isHandler('static') %}
только на статике
{% endif %}
15. Блок всюду кроме статики
{% if not isHandler('static') %}
кроме статики
{% endif %}
16. Блок только на страничке ошибки
{% if not isSet(handler) %}
На странице с ошибкой 404
{% endif %}
17. Блок на страничке иных плагинов и т.д. может что-то забыл....
{% if handler.pluginName == 'pluginname' %}
выводимый контент
{% endif %}
Изменено Knopik (2015-08-05 08:53:34)
Не в сети
Не в сети
vip, [TWIG] ... [/TWIG] используется там, где шаблон строится старым шаблонезатором
Не в сети
Не в сети
Knopik, а можно ли для плагина feedback сделать обработчик по определенным формам?
http://site.ru/plugin/feedback/?id=1
http://site.ru/plugin/feedback/?id=2
http://site.ru/plugin/feedback/?id=3 и тд и тп
EDIT: вот так: {% if handler.pluginName == 'feedback' and handler.params.altname == '?id=1' %}выводимый контент{% endif %} ?
I ♥ NGeneration CMS
Не в сети
Евгений, для конкретной формы сделать обработчик через twig не получится
Не в сети
Knopik, попробовал конструкцию для определенной новости, не работает:
<a href="/uslugi/uchet-teplovoi-energii.html">
<li>
{% if isHandler('news:news') and handler.params.altname == 'uchet-teplovoi-energii' %}<strong>{% endif %}
Учет тепловой энергии
{% if isHandler('news:news') and handler.params.altname == 'uchet-teplovoi-energii' %}</strong>{% endif %}
</li>
</a>
и так тоже пробовал:
<a href="/uslugi/uchet-teplovoi-energii.html">
<li>
{% if isHandler('news:uslugi') and handler.params.altname == 'uchet-teplovoi-energii' %}<strong>{% endif %}
Учет тепловой энергии
{% if isHandler('news:uslugi') and handler.params.altname == 'uchet-teplovoi-energii' %}</strong>{% endif %}
</li>
</a>
I ♥ NGeneration CMS
Не в сети
Евгений, нужно через теги [TWIG] ... [/TWIG]
пример
[TWIG]
{% if isHandler('news:uslugi') and handler.params.altname == 'uchet-teplovoi-energii' %}<strong>{% endif %}
Учет тепловой энергии
{% if isHandler('news:uslugi') and handler.params.altname == 'uchet-teplovoi-energii' %}</strong>{% endif %}
[/TWIG]
Изменено vip (2012-08-14 16:37:59)
Не в сети
Не в сети
legenda, TWIG это новый шаблонизатор который придет на смену старому просто виталий по техоньку его натягивает потому то TWIG не везде работает но было найдено решение сделав хак для старого шаблонизатора и там где еще не работает TWIG можно запускать нужные функции через теги [TWIG] ... [/TWIG]
Не в сети
Вот например так
[TWIG]
{% if isHandler('news') %}
Блок для отображения только в любой категории и в полной новости (любой)
{% endif %}
[/TWIG]
а мне нужно чтоб только в категории и в полных новостях (но не любой, а например в категории blog, и во всех полных новостях категории blog)
Изменено legenda (2012-08-15 00:55:19)
Не в сети
Попробовал сделать с обработчиком [TWIG], не помогло, выводит просто пустоту...хотя в коде шаблона main.tpl:
<a href="/uslugi/uchet-teplovoi-energii.html">
<li>
[TWIG]
{% if isHandler('news:uslugi') and handler.params.altname == 'uchet-teplovoi-energii' %}<strong>{% endif %}
Учет тепловой энергии
{% if isHandler('news:uslugi') and handler.params.altname == 'uchet-teplovoi-energii' %}</strong>{% endif %}
[/TWIG]
</li>
</a>
I ♥ NGeneration CMS
Не в сети
Евгений,
<a href="/uslugi/uchet-teplovoi-energii.html">
<li>
[TWIG]
{% if isHandler('news:news') and handler.params.altname == 'uchet-teplovoi-energii' %}<strong>{% endif %}
Учет тепловой энергии
{% if isHandler('news:news') and handler.params.altname == 'uchet-teplovoi-energii' %}</strong>{% endif %}
[/TWIG]
</li>
</a>
Это будет для определенной полной новости!, а вот как для определенной категории uslugi хз, вот више сам спрашываю
Изменено legenda (2012-08-15 02:45:55)
Не в сети
Вот например так
[TWIG]
{% if isHandler('news') %}
Блок для отображения только в любой категории и в полной новости (любой)
{% endif %}
[/TWIG]а мне нужно чтоб только в категории и в полных новостях (но не любой, а например в категории blog, и во всех полных новостях категории blog)
{% if isHandler('news') and handler.params.category == 'blog' %}
Я в категории блог, и на страничке полной новости с категорией блог
{% endif %}
----
описание isHandler() из доков
isHandler($rule) - возвращает true в случае, если текущее местоположение пользователя соотвествует указанным правилам в isHandler($rule) - возвращает true в случае, если текущее местоположение пользователя соотвествует указанным правилам в $rule
- Формат переменной $rule: Правило1[|Правило2[|Правило3[...]]]
- Формат записи ПравилоN: PLUGIN[:HANDLER]
где:
PLUGIN - ID плагина (можно посмотреть в админке, на странице Управление форматом ссылок, колонка Плагин)
HANDLER - ID обработчика (если указан, колонка Действие)
{% if isHandler('tags|news:main') %}
* Пользователь находится на главной странице или на странице плагина tags *
{% endif %}
Изменено Knopik (2012-08-15 12:03:53)
Не в сети