Вход

Просмотр полной версии : использование tt_news для нескольких модулей


Илья
03.07.2007, 11:05
Есть 3 вида модулей: новости, FAQ, небольшой каталог.
Для каждого из них создано по 4страницы
в BE. SysFolder - для хранения записей, и 3 страницы со вставленным в
контент страницы плагином tt_news и разными настройками "What to
display" (LIST, LATEST и SINGLE)
В настройках плагина прописаны разные HTML шаблоны (tt_news, tt_faq,
tt_catalog)
Примерно такая структура страниц:

- (SysFolder) Новости
- (SysFolder) FAQ
- (SysFolder) Каталог

- Новости (LIST) (шаблон tt_news.html) (Startingpoint: Новости)
- Новости (LATEST) (шаблон tt_news.html) (Startingpoint: Новости)
- Новости (SINGLE) (шаблон tt_news.html) (Startingpoint: Новости)

- FAQ (LIST) (шаблон tt_faq.html) (Startingpoint: FAQ)
- FAQ (LATEST) (шаблон tt_faq.html) (Startingpoint: FAQ)
- FAQ (SINGLE) (шаблон tt_faq.html) (Startingpoint: FAQ)

- Каталог (LIST) (шаблон tt_catalog.html) (Startingpoint: Каталог)
- Каталог (LATEST) (шаблон tt_catalog.html) (Startingpoint: Каталог)
- Каталог (SINGLE) (шаблон tt_catalog.html) (Startingpoint: Каталог)

В общем шаблоне для всех этих страниц написано:
plugin.tt_news {
singlePid = (PID страницы Новости (SINGLE)}

Видимо надо singlePid определять несколько раз (новостей, FAQ'a и каталога)
возможно ли такое сделать в рамках одного установленного tt_news?

Pavel Antonov
03.07.2007, 11:57
Видимо надо singlePid определять несколько раз (новостей, FAQ'a и каталога)
возможно ли такое сделать в рамках одного установленного tt_news?

Да, можно.
Если разнесено по нескольким страницам, то проблем вообще нет. На каждой странице задаете в шаблоне свою конфигурацию.
Если на одной странице, то лучше сделать через TV/FCE и в конфигурации блока подставлять нужные параметры:lib.block1 < plugin.tt_news
lib.block1.singlePid = xxx

lib.block2 < plugin.tt_news
lib.block2.singlePid = yyy

Илья
03.07.2007, 12:33
На разных страницах и есть, а потом мапится, примерно так как вы и предложили:
subparts.block1 < plugin.tt_news
Просто пока еще не делал шаблоны для каждой из страниц.
А для этого наверное будет достаточно сделать не рутовых шаблон, а ext?

Pavel Antonov
03.07.2007, 12:50
Да, делаете ext-шаблон

Илья
06.07.2007, 11:08
Однако без TV не работает так как надо. Возможно ли обойтись без TV?
Делаю вставку блоков на страницу с помощью прописанных в root шаблоне subparts:
subparts.newsList < styles.content.get
subparts.newsList.select.pidInList = 17 # страница с новостями

subparts.FAQList < styles.content.get
subparts.FAQList.select.pidInList = 71 # страница с FAQ

В ext шаблонах для страниц, содержащих новости и faq имеем
plugin.tt_news {
singlePid = 19 # страница с single для новостей
}

plugin.tt_news {
singlePid = 22 # страница с single для FAQ
}

Однако и для новостей и для FAQ показывается одна и та же страница с single, а не разные, как прописано в шаблоне

Pavel Antonov
06.07.2007, 13:35
plugin.tt_news {
singlePid = 19 # страница с single для новостей
}

plugin.tt_news {
singlePid = 22 # страница с single для FAQ
}

Однако и для новостей и для FAQ показывается одна и та же страница с single, а не разные, как прописано в шаблоне


Потому что вы и прописываете одну. Я писал совершенно другое.

Если с обычными шаблонами:
subparts.newsList < plugin.tt_news
subparts.newsList. singlePid = 19
и так далее...

Илья
12.07.2007, 18:07
Все равно не врубаюсь, сорри.
Код TS такой:

subparts.newsList < plugin.tt_news
subparts.newsList.select.pidInList = 17
subparts.newsList.singlePid = 19
subparts.newsList.code = LATEST

# FAQ в правой колонке

subparts.FAQList < plugin.tt_news
subparts.FAQList.select.pidInList = 71
subparts.FAQList.singlePid = 75
subparts.FAQList.code = LIST

Но этого явно недостаточно, ибо вместо этих двух модулей tt_news в FE вижу ошибки:
"tt_news configuration error
What to display: If no value for "code" (or "defaultCode") is configured in TypoScript it is required to select at least one item from the field "What to display" in the tt_news content-element. Here is an example:"

Почему то не понимает строки:
subparts.newsList.code = LATEST
subparts.FAQList.code = LIST

Илья
12.07.2007, 19:00
Покопался и победил.
Правиьный код для каждого модуля такой:

subparts.FAQList < plugin.tt_news
subparts.FAQList{
.select.pidInList = 71
pid_list = 72
singlePid = 75
code >
code = LIST
}