PDA

Просмотр полной версии : Как сделать такой архив?


maaboo
10.12.2008, 12:01
Приветствую.

Прошу помощи у коллективного разума, ибо своего не хватает.

Есть задача сделать следующее:

1. Страница LATEST (mysitename/theme1/topic1). Отображаются N новостей. Новости типа "ссылка на страницу".
2. После всего идёт такая конструкция:
Год
Янв Фев Мар ... Дек
Год
Янв Фев Мар ... Дек
и так далее..

При нажатии на название месяца (хорошо бы выводить количество новостей в виде всплывающего окна) попадаем на страницу mysitename/theme1/topic1/year/month,
где выводятся все новости за месяц (тот же LATEST, но малость подкрученный). На этой странице присутствует та же конструкция для архива.

Ума не приложу как это реализуется и что для этого надо. 1-й пункт уже есть.
Что делать? Нужны ещё какие-то отдельные страницы? Если да, то сколько? Или всё делается TS на этой же страницы путём замены содержимого?

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

[globalVar = TSFE:id = 43]
lib.newsholder = COA
lib.newsholder {
10 < plugin.tt_news
10 {
templateFile = fileadmin/templates/tt_news2.html
pid_list = 43
}
}
[global]

reva2
10.12.2008, 14:06
Смотрите в эту сторону (http://typo3.org/documentation/document-library/extension-manuals/tt_news/2.5.2/view/1/3/#id3833453)

maaboo
10.12.2008, 17:14
Смотрите в эту сторону (http://typo3.org/documentation/document-library/extension-manuals/tt_news/2.5.2/view/1/3/#id3833453)

Спасибо, конечно, за указание стороны, но эту делу не помогает. Я знаю в какую сторону смотреть, но не понимаю как это реализовать в моём случае. Как вставить... эээ.. AMENU... после новостей?
20 < plugin.tt_news { code = AMENU }
?
Ибо я не хочу отдельной страницы с календарём.

А как прикрутить собственно архив?
структура такая:
тема 1
--подтема 1.1.
---Новость 1.1.1
---Новость 1.1.2
---Новость 1.1.3

Сейчас новости выводятся на странице "подтема 1.1". Архив будет на какой-то другой, я так понимаю? И что делать с RealURL в таком случае?

dmartynenko
11.12.2008, 15:40
Если вы вставите AMENU после списка новостей, то вы и получите селекторы по годам и месяцам.

Эти селекторы будут ссылками на эту же страницу но с доп. параметрами, при переходе по которым содержимое списка LIST (возможно его придется использовать вместо LATEST) будет отфильтровано по этим датам. Такое поведение заложено в tt_news.

Поэтому никаких доп. страниц не нужно создавать.

Вот настройки RealURL нужно посмотреть, что бы эти доп. параметры в ссылках переводились в нужные вам /year/month

maaboo
11.12.2008, 17:13
Если вы вставите AMENU после списка новостей, то вы и получите селекторы по годам и месяцам.



[globalVar = TSFE:id = 43]
lib.newsholder = COA
lib.newsholder {
10 < plugin.tt_news
10 {
templateFile = fileadmin/templates/tt_news2.html
pid_list = 43
}
[global]


Что к этому прибавить? Пытаюсь вставить ещё одну запись с code = AMENU - игнорирует...

dmartynenko
11.12.2008, 17:20
Ваш код в студию!
Кроме этого в вашем коде нет закрывающей скобки }, возможно это сказывается на работоспособности этого кода.

Я бы сделал примерно так:

[globalVar = TSFE:id = 43]
lib.newsholder = COA
lib.newsholder {
10 < plugin.tt_news
10 {
code = LIST
templateFile = fileadmin/templates/tt_news2.html
pid_list = 43
... // настройка плагина
}
20 < plugin.tt_news
20 {
code = AMENU
templateFile = fileadmin/templates/tt_news2.html
pid_list = 43
... // настройка плагина
}
}
[global]

maaboo
11.12.2008, 17:31
[globalVar = TSFE:id = 43]
lib.newsholder = COA
lib.newsholder {
10 < plugin.tt_news
10 {
code = LATEST
templateFile = fileadmin/templates/tt_news2.html
pid_list = 43
}
lib.newsholder2 = COA
lib.newsholder2 {
10 < plugin.tt_news
10 {
code = AMENU
templateFile = fileadmin/templates/tt_news2.html
pid_list = 43
}
}
[global]


Выводит только первый блок (LATEST). Я даже нарочно разделил по разным объектам, потому что в мануале было написано, что возможен конфликт.

Я что-то ещё где-то забыл описать, прописать?
[/CODE]

dmartynenko
11.12.2008, 17:37
Опять забыли закрывающую скобку для блока lib.newsholder !!!

А в файле шаблона есть кусок шаблона для вывода AMENU ?
Тут кажется ошибся, скорее настройка вывода идет без шаблона через TS.

maaboo
11.12.2008, 21:52
Да, со скобкой я промахнулся, но дело не в скобке, а в том, что он выводит два LATEST, то есть code для него как бы не работает.

dmartynenko
12.12.2008, 14:59
Звучит как из разряда фантастики :)

Скорее все же ошибка где-то в вашем коде.
Попробуйте "метод тыка" - поставте второй раз код SEARCH или CATMENU и посмотрите что будет.

И сделайте так - надежней:
lib.newsholder {
10 < plugin.tt_news
...
20 < plugin.tt_news
...
}

maaboo
12.12.2008, 17:54
Звучит как из разряда фантастики :)

Скорее все же ошибка где-то в вашем коде.
Попробуйте "метод тыка" - поставте второй раз код SEARCH или CATMENU и посмотрите что будет.

И сделайте так - надежней:
lib.newsholder {
10 < plugin.tt_news
...
20 < plugin.tt_news
...
}


Сделал и так и так. Сэймшит. Выводит три блока LATEST. Я вот что еще могу сказать, когда я убрал defaultCode = LATEST, то он ругался, что не задан тип вывода и так же не реагировал на вставленные коды.