PDA

Просмотр полной версии : Как работает tt_news list+single на одной странице


surfman
29.10.2008, 16:16
Никак не получается настроить.
в документации сказано
Вставим это в поле установки:
# очистить поле кода
plugin.tt_news.code >
plugin.tt_news.code = LIST
# установить код SINGLE, если переменная GETvar tx_ttnews[tt_news] существует
[globalVar = GP:tx_ttnews|tt_news > 0]
plugin.tt_news.code = SINGLE
[global]
# очистить основной контент на объекте page
page.10.subparts.content >
page.10.subparts.content < plugin.tt_news
Но никак не могу понять как оно работает.
Все получается если вставлять новости через lib.news_list. ТОгда условие работает.

А мне нужно, чтобы вставлять плагин с list вручную, и чтоб он автоматически заменялся SINGLE при просмотре новости.

dmartynenko
29.10.2008, 20:01
А мне нужно, чтобы вставлять плагин с list вручную, и чтоб он автоматически заменялся SINGLE при просмотре новости.

Это как? Через содержимое страницы?

Тогда можно попробовать вставить такой-же TS код через расширение tscobj. Но не возьмусь сказать отработает ли там условие.

surfman
29.10.2008, 20:40
Я так вставлял, все работет. Но при этом методе надо вручную в TS все описывать.
ТОесть, когда пользователь(не разработчик сайта) захочит открыть новую ветку, и вставит плагин обычным способом, то как сделать чтобы все плагины tt_news LIST на определенной ветке дерева заменялись на SINGLE.

Вся загвоздка, что всегда разные категории отображения.
И вопрос по ходу: как добавить в меню "хлебные крошки" путь из категорий.

dmartynenko
30.10.2008, 13:49
Так ведь так и будет, если вы этот TS скрипт пропишете в шаблоне. И этот шаблон поставите для всех нужных и будующих страниц.

Не знаю вашу структуру страниц, но например в шаблоне (верхнего уровня) есть опция "использовать указанный шаблон для страниц следующего уровня".

surfman
30.10.2008, 14:05
Дело в том, что на каждой подстранице будет свой LIST, который будет отображать статьи из своей категории.
Напр.Для TT_news создается структура категорий
Категория1
--категория2
--категория3
--категория4
Категория5
--категория6
--категория7
В дереве страниц созется аналогичная структура, и на каждой странице вставляется LIST со своей категорией.

ПОка виже два варианта.
1) если использовать TS, то при добавлении новой категории надо в TS прописывать LIST для нового раздела, что не сможет сделать ктото другой.
2) Под каждой страницей создать страницу SINGLE, но тогда LIST и SINGLE окажутся на разных страницах.

dmartynenko
30.10.2008, 14:17
Шаблон то ведь один и тот же, только отличие в том, какие категории показывать?

Можно попробовать брать номер категории из константы шаблона - вот только не помню могут ли не админы редактировать константы.

Можно брать из какого-нибудь поля самой страницы (page). И даже через свой экст. добавить к странице поле с выбором категорий tt_news.

А как вам еще проще!? Вносить новости прямо на эти страницы, и выводить соответственно с текущей и/или дочерних.

surfman
30.10.2008, 16:44
А как вам еще проще!? Вносить новости прямо на эти страницы, и выводить соответственно с текущей и/или дочерних.
Так и планировал выводить соответственно с текущей и дочерних.
Воообще я ставлю экст lab_newsfolders, он позволяет создавать страныци с категорией по умолчанию.

А вообще лутше для новостей выделить отдельную папку для групы категорий?

Valery Romanchev
30.10.2008, 16:51
А вообще лутше для новостей выделить отдельную папку для групы категорий?

имхо юзерам понятнее новости видеть в папке, которая в заметном месте вверху дерева страниц.

dmartynenko
30.10.2008, 18:04
IMHO технически нет разницы.

А для юзеров-редакторов лучше ограничить дерево только теми страницами, куда они должны вносить новости. И тогда тоже нет разницы.

Andrey Grey
31.10.2008, 06:34
А мне нужно, чтобы вставлять плагин с list вручную, и чтоб он автоматически заменялся SINGLE при просмотре новости.
А все же чем вам этот способ не нравится?
Если правильно настроите в typoscript все необходимые параметры, то от вас требуется просто вставить плагин новостей на нужной странице.
Логика простая, если есть значение tt_news > 0 , то выводить SINGLE, в остальных случаях LIST.

Если плагин Новостей требуется не единожды сделать, то это тоже можно сделать. Сам плагин нужен разработчику, а пользователь вообще не должен иметь доступ к правке странице этого плагина или просто этого плагина.

surfman
31.10.2008, 13:40
Допустим есть пять категорий. Я делаю пять страниц, соответствующих категориям, ставлю на них LIST вручную. Все работает.Я даю инструкции по добавлению контента. Проходит время, нужно еще категорию, добавить. Юзер создает категорию, страницу, ставит туда LIST с указанием новой категории. Все.

В случае через lib. я делаю так, все работает.

lib.clubnews < plugin.tt_news
lib.clubnews {
code >
code = LIST
pid_list >
pid_list = 27 # the pids where news are stored
limit = 12
categorySelection = 2
categoryMode = 1
useSubCategories = 1
displaySubCategories = 1
catRootline {
showCatRootline = 1
catRootline_stdWrap.wrap = <div class="small"><b>Category:</b>&nbsp;|</div>
# if titles are linked the link points to the page which is configured as category shortcut
linkTitles = 1
title_stdWrap.wrap =
divider = &nbsp;&gt;&nbsp;
}
}

[globalVar = GP:tx_ttnews|tt_news > 0]
lib.clubnews.code = SINGLE
lib.cat-menu = 0
[end]

Вся загвоздка в том, что для каждой страници будет разным значение categorySelection, поэтому зерез ib.clubnews не получится.

Как в TS прописать, чтобы туда, где есть LIST(вставленый вручную) при значении tt_news > 0 подставлялся SINGLE?

dmartynenko
01.11.2008, 18:33
Я писал раньше, что нужно сделать совсем по другому.

Еще раз.
Если у вас в шаблоне стоит вывод на страницу tt_news c использованием TS, то новости будут появляться на всех страницах на которые действует этот шаблон, даже на новых. Без надобности чего-то вставлять на страницу вручную.

Единственный момент, который нужно менять и автоматически это не произойдет - выбор категории.

Опять же смотрите варианты выше. Самый простой - вносить новости на эти же страницы, тогда вообще не нужно делать выборку по категориям. Достаточно вывести новости с текущей страницы (и дочерних для более верхнего уровня).

surfman
01.11.2008, 18:58
Да, теперь то что надо. Все дело было в useSPidFromCategory = 1, из за которого все никак не клеелось, плюс ваш совет хранить новости на каждой странице.
Единственно что при такой схеме наверно будут дубли новостей, которые определены в несколько категорий.

surfman
19.11.2008, 23:22
Возвращаясь к началу.
Ставлю на страницу плагин с двумя режимами LIST и SINGLE.
В TS вставляю

plugin.tt_news.code >
plugin.tt_news.code = LIST
config.index_enable = 0

[globalVar = GP:tx_ttnews|tt_news > 0]
plugin.tt_news.code = SINGLE
config.index_enable = 1
[global]

Что то еще надо сделать? А то никак не пойма, почему не работает. Вместе с полной версией новости отображается список.

surfman
27.11.2008, 15:21
Итак. Наконецто дошло.
Все это не работало, потому что в мануале в этом месте упущен важный момент.
Когда вставляем плагин tt_news, то в нем не надо выбирать ни LIST ни SINGLE, тоесть вообще там ничего не настраивать.

Теперь назрел второй вопрос. Так как появилась возможность вставлять аж тремя способами.
1. Вручную вставлять.
2. В templavoila создать новое TO, в котором замапить lib.clubnews.
3. Вставлять lib.clubnews с помощью расширения tscobj

Какой из этих трех способов меньше нагружает сайт. является оптимальным.