форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Доброе время суток
Давно не спрашивал ничего у уважаемого сообщества.
И вот возник вопрос.
Итак:
Есть две категории с вложенными подкатегориями принадлежащие двум разным секциям.
Если задать вывод следующим образом:
<txp:if_category> <txp:article limit="300" listform="catalog_list" /> </txp:if_category>
то список статей всех подкатегорий выводятся с использованием данной формы?
Подозреваю, что сделать это не так сложно, как кажется мне в данный момент, но я почему то попал в тупик...
Да, забыл добавить, если задать следующую конструкцию:
<txp:if_category name="подкатегория 2"> <txp:article limit="5" form="подкат2_form" listform="подкат2_list" /> </txp:if_category>
то выводится список статей как формой catalog_list так и формой подкат2_list
Подскажите чего-нибудь, а то я в тупике.
Неактивен
Какая стоит задача - вывести ссылки на категории или вывести статьи в которых указаны нужные категории? Сформулируйте задачу яснее - в хорошем вопросе содержится частичка ответа
Неактивен
the_ghost написал:
Какая стоит задача - вывести ссылки на категории или вывести статьи в которых указаны нужные категории? Сформулируйте задачу яснее - в хорошем вопросе содержится частичка ответа
Ага... я сейчас тоже прочитал свой вопрос и понял, что ночью лучше вопросы не формулировать
Нужно оформить вывод списка статей из разных подкатегорий по-разному.
Неактивен
если категорий немного, то можно использовать вышеприведенную конструкцию
if_category name=....
но может быть ее лучше не в шаблон, а в форму?
Т.е. в шаблоне останется
listform="catalog_list"
а вот в форме catalog_list уже и анализировать - что сейчас за категория и как ее отображать
Неактивен
Evgeny написал:
если категорий немного, то можно использовать вышеприведенную конструкцию
if_category name=....
но может быть ее лучше не в шаблон, а в форму?
Т.е. в шаблоне останется
listform="catalog_list"
а вот в форме catalog_list уже и анализировать - что сейчас за категория и как ее отображать
А если категорий много? Неужели нет какого то стандартного решения? Или разработчиками была предусмотрена возможность введения только одного дерева категорий? фигня какая то
Неактивен
А реальная задача в чём? Может проще разнести по секциям?
Отредактированно AngryCAT (27-11-2007 01:53:29)
Неактивен
AngryCAT написал:
А реальная задача в чём? Может проще разнести по секциям?
По секциям тоже разнесено...
Описываю пример задачи.
Секция: Каталог.
Категория: Каталог.
Подкатегория: Группа товаров 1
Подкатегория: Группа товаров 2
Подкатегория: Группа товаров 3
В каждой подкатегории какие то товары.
Секция: Техподдержка.
Категория: Техподдержка.
Подкатегория: Вопрос-ответ
Подкатегория: Файловый архив
Примерно такая... только посложнее в части Каталога - там больше подкатегорий со своими под-подкатегориями.
Сейчас пока писал пришла в голову мысль, что можно обойтись без второй ветки категорий, создав отдельную секцию Вопрос-ответ и отдельную секцию Файловый архив, и просто выводить две ссылки на эти секции при выборе секции Техподдержка.
Но тут возникает другой вопрос... в главном меню у меня выведены не все Секции... и хотелось бы сделать так, чтобы при выборе секции Вопрос-ответ или Файловый архив подсвечивалась активной кнопка "Техподдержка"... Это видимо придется реализовывать вручную...
Т.е. вопрос в принципе решаемый... но как то странно, что нельзя настроить разный внешний вид для разных подкатегорий не перечисляя все-все подкатегории и под-подкатегории....
Неактивен
Полез читать мануалы.
Из того что там сказано получается что за отображение статьи отвечают всё-таки секции... а не категории... категории как я понимаю отвечают только за компоновку статей... продолжаю думать...
Неактивен
raivilion написал:
А если категорий много? Неужели нет какого то стандартного решения?
а какое может быть стандартное решение для задачи типа - для 100 категорий иметь 100 различных отображений?
только описывать - для какой категории какое отображение относится.
То есть последовательные if... else...
Неактивен
Evgeny написал:
только описывать - для какой категории какое отображение относится.
То есть последовательные if... else...
Меня сейчас уже просто заело разобраться как должно быть правильно настроено... А то как у меня настроено было - работало, но похоже "по-правильному" как то по-другому.
Ведь не просто же так вот это было написано:
Nicck написал:
Я вижу так:
У нас есть статья, статья принадлежит к секции, обязательно принадлежит, иначе никак.
Почему статья непременно принадлежит секции а категории не непременно?
Потому, что мы эту статью будем выводить, отображать, показывать посетителю.
Как отображать статью, в каком виде?
В том же что и все другие статьи принадлежащие к этой секции. Именно секция определяет как будет выглядеть страница на которой выводится статья. Какова эта страница будет по структуре и виду. Именно для секции мы назначаем шаблон структуры (page) который представляет собой xhtml документ. Также для секции назначается css файл, чтоб определить как эта структура должна выглядеть, визуально.
Итак примеры: а)статьи которые нельзя комментировать и их заголовок завёрнут в h1 а сбоку банер
б) статьи общего потока с комментированием, сбоку ничего в) секция download
Вобще обычно на каждую секцию у меня приходится по шаблону, хотя можно задать 2 секции и одни общий шаблон, смысла только мало, но иногда может понадобится, затем и есть такая возможность.
Если у вас все страницы выглядят совершенно одинаково то вам достаточно одной секции.
А категории чего?
А категории ничего. Это как атрибут файла, заметка, маркер принадлежности статьи к определённому типу, ну например: статьи о пожарах, о убийствах, о любви, о предательстве, о дружбе.
Зачем тогда они(категории) нужны?
Ну например я хочу посмотреть только статьи о пожарах, вот.
А если статья ни о чём, то ей следует не принадлежать ни к одной из категорий.
Категорий может вообще не быть.
Секций не быть не может, хоть одна да будет.
И ещё раз: категория ни к чему не обязывает статью, вообще, нельзя думать "если это статья о бегемотах то она будет выводиться на жёлтом фоне", но можно думать "в шаблоне с жёлтым фоном я буду выводить статьи о бегемотах".
Отредактированно raivilion (27-11-2007 12:32:18)
Неактивен
Если разных видов отображения не очень много, а категорий много, использовать пользовательские поля для селекции.
Неактивен
AngryCAT написал:
Если разных видов отображения не очень много, а категорий много, использовать пользовательские поля для селекции.
А расскажи чуть подробнее....
Неактивен
В ТХР каждая статья может иметь до десяти пользовательских полей custom field. Соответсвенно, существует несколько тэгов для работы с этими полями.
<txp:custom_field>
служит для отображения пользовательского поля.
<txp:if_custom_field>
как понятно из названия, условный тэг, осуществляющий проверку пользовательского поля. Кстати там же есть несколько примеров использования.
Таким образом, называем одно из полей "вид" и видим поле ввода в админке, там где редактируем статью. Далее, предполагая наличие нескольких видов отображения для разных типов товаров, делаем следующее: назначим, например, такие значения:
Водка 1 Закуска 2 Курево 3
Думаю, что дальше понятно. Используя условный тэг, осуществляем селекцию формы для вывода статьи.
Отредактированно AngryCAT (27-11-2007 21:01:55)
Неактивен
Почти добился нужного результата.... но есть один небольшой баг...
есть вот такая конструкция
<txp:if_category name="videokamery-povorotnye-kupolnye"> <txp:if_individual_article> <txp:article limit="300" form="catalog_article_single" /> <txp:else /> <div id="main_cat"> <txp:stw_category_tree start="videokamery-povorotnye-kupolnye" wraptag="ul" break="li" /> </div> </txp:if_individual_article> </txp:if_category>
У категории videokamery-povorotnye-kupolnye есть родительская категория catalog и несколько дочерних категорий. Статей в ней нет. Нужно чтобы при выборе этой категории отображался список её дочерних категорий... При выборе данной категории выдается ошибка:
tag_error -> Textpattern Notice: Шаблон default не содержит тэг txp:article on line 464
Как быть? Подскажите....
Неактивен
<txp:if_category name="videokamery-povorotnye-kupolnye"> <txp:if_individual_article> <txp:article limit="300" form="catalog_article_single" /> <txp:else /> <div id="main_cat"> <txp:stw_category_tree start="videokamery-povorotnye-kupolnye" wraptag="ul" break="li" /> <txp:article limit="300" form="null" /> </div> </txp:if_individual_article> </txp:if_category>
Такая хитрая заглушка. То есть форма null само собой пустая.
Неактивен
AngryCAT написал:
Такая хитрая заглушка. То есть форма null само собой пустая.
Спасибо.... Вечером попробую...
Неактивен