Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Как сделать такой архив? (http://forum.typo3.ru/showthread.php?t=7258)

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

Смотрите в эту сторону

maaboo 10.12.2008 17:14

Цитата:

Сообщение от reva2 (Сообщение 22965)

Спасибо, конечно, за указание стороны, но эту делу не помогает. Я знаю в какую сторону смотреть, но не понимаю как это реализовать в моём случае. Как вставить... эээ.. 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

Цитата:

Сообщение от dmartynenko (Сообщение 22973)
Если вы вставите 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
        ...
}



Часовой пояс GMT +4, время: 18:49.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot