Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

#1 2012-08-14 06:03:06

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Как сделать блоки используя Twig ?

Вопшем я уже запутался у всех этих вариантах размещения блоков  в разных местах (глявная, неглавная, в категории и т.д). Хотелось бы ясности как можно размещать блоки. Если кто помнит был такой плагин Елка, хотя он и есть я им дальше пользуюсь, там был пример как его можно использовать наглядно, предлагаю тем кто в этом чтото понимает дописать как можно с помощю 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)

Неактивен

 

#2 2012-08-14 13:25:18

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

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 07:53:34)

Неактивен

 

#3 2012-08-14 14:16:02

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

legenda, комбинации для ifhandler можно найти в "Управление форматом ссылок" тока не все можно организовать через ifhandler
Knopik, это все работает тока в SVN через хак [TWIG] ... [/TWIG]


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#4 2012-08-14 14:29:22

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

vip, [TWIG] ... [/TWIG] используется там, где шаблон строится старым шаблонезатором

Неактивен

 

#5 2012-08-14 14:38:15

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

Knopik, так это доступно только для версии SVN а в актуальной версии через [TWIG] ... [/TWIG] не где не вывести


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#6 2012-08-14 14:46:21

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

vip, я на ночной версии проверял.

Неактивен

 

#7 2012-08-14 15:11:44

Евгений
Модератор
Откуда: Россия
Зарегистрирован: 2009-04-08
Сообщений: 1014
Рейтинг :   38 
Профиль  Вебсайт

Re: Как сделать блоки используя 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

Неактивен

 

#8 2012-08-14 15:34:28

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

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

Неактивен

 

#9 2012-08-14 15:50:24

Евгений
Модератор
Откуда: Россия
Зарегистрирован: 2009-04-08
Сообщений: 1014
Рейтинг :   38 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

Knopik, да, neutral я попробовал, код не сработал, жаль, но все равно спасибо за ответ. wink


I NGeneration CMS

Неактивен

 

#10 2012-08-14 16:02:59

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

Knopik, я про нее и говорил что работает тока в SVN версии а в 0.9.3 теги [TWIG] ... [/TWIG] не работают


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#11 2012-08-14 16:22:32

Евгений
Модератор
Откуда: Россия
Зарегистрирован: 2009-04-08
Сообщений: 1014
Рейтинг :   38 
Профиль  Вебсайт

Re: Как сделать блоки используя 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>

Итог един:
http://photoload.ru/data/6b/13/44/6b1344097385a42484abd4746371e416_pv.png


I NGeneration CMS

Неактивен

 

#12 2012-08-14 16:36:14

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

Евгений, нужно через теги [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)


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#13 2012-08-14 16:56:50

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

Knopik, супер! буду тестить.

У меня стоит NGCMS 0.9.3 + SVN [SVN1040+] надо все блоки заключать в тег  [TWIG] ... [/TWIG]?

Неактивен

 

#14 2012-08-14 16:59:09

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

legenda, тока там где работает старый шаблонизатор


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#15 2012-08-14 17:00:49

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

legenda, да

Неактивен

 

#16 2012-08-14 17:07:13

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

vip, а что такое старый шаблонизатор?
В смисле в версии 0.9.3 + SVN [SVN1040+] он старый или новый?

Отредактированно legenda (2012-08-14 17:08:04)

Неактивен

 

#17 2012-08-14 17:15:00

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

legenda, TWIG это новый шаблонизатор который придет на смену старому просто виталий по техоньку его натягивает потому то TWIG не везде работает но было найдено решение сделав хак для старого шаблонизатора и там где еще не работает TWIG можно запускать нужные функции через теги [TWIG] ... [/TWIG]


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#18 2012-08-14 23:39:00

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

Knopik, Можно еще пример для
18. Блок только на страничках определенной категории как кратких так и полных новостей
?

Неактивен

 

#19 2012-08-14 23:46:43

vip
Aдминистратор
Откуда: Russian Federation, Moscow
Зарегистрирован: 2011-03-23
Сообщений: 1110
Рейтинг :   200 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

legenda, можно как через id категории так и через аль имя
{% if isCategory('1') %}
код для вывода определенной категории
{% endif %}


Free Templates | Бесплатные шаблоны  Мы открылись! smile
Dropbox.com Облачное хранилище данных.
_____________________________
Для благодарностей WebMoney R773133692073

Неактивен

 

#20 2012-08-14 23:49:32

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

vip, так неработает для полных новостей этой категории

Неактивен

 

#21 2012-08-15 00:21:12

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

Вот например так

[TWIG]
{% if isHandler('news') %}
Блок для отображения только в любой категории и в полной новости (любой)
{% endif %}
[/TWIG]

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

Отредактированно legenda (2012-08-15 00:55:19)

Неактивен

 

#22 2012-08-15 01:15:39

Евгений
Модератор
Откуда: Россия
Зарегистрирован: 2009-04-08
Сообщений: 1014
Рейтинг :   38 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

Попробовал сделать с обработчиком [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

Неактивен

 

#23 2012-08-15 02:31:17

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

Евгений,

<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)

Неактивен

 

#24 2012-08-15 12:00:58

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

Re: Как сделать блоки используя Twig ?

legenda написал:

Вот например так

[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)

Неактивен

 

#25 2012-08-15 16:41:42

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как сделать блоки используя Twig ?

Knopik, чето я вапше ниче не понял, для меня все это китайская грамота) , можно просто пример?

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.072 seconds, 32 queries executed ]