форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Добрый день. Мне нада сделать такое меню: вывод секций а в них показано содержимое этих секций, т.е. название статьей, которые принадлежат им. Вот желательно в такой форме выводить:
<ul id="menu">
<li class="sub">Секция
<ul>
<li>тут содержимое</li>
<li>тут тоже </li>
</ul>
</li>
<li class="sub">Секция2
<ul>
<li>тут содержимое</li>
<li>тут тоже </li>
</ul>
</li>
</ul>
Неактивен
Добрый день! В страницах выводите приблизительно такое:
<menu> <!-- выводим 5000 статей, сортируем по имени секций и затем по имени статей --> <txp:article_custom limit="5000" form="menu" sort="Section, Title"/> </menu>
А в формах дефинируете форму "menu", в которой указываете, как себя вести такому списку:
<txp:if_different> <!-- закрываем список статей --> </ul> <!-- закрываем секцию --> </li> <!-- открываем другую секцию --> <li><txp:section title="1" link="1" /> <!-- и список статей к ней --> <ul> </txp:if_different> <!-- если ничего подозрительного нет, то выводим статьи одну за другой --> <li><txp:permlink><txp:title /></txp:permlink></li>
А в CSS:
menu { /* параметры для первого уровня */ } menu li { /* параметры для первого уровня */ } menu li ul { /* параметры для второго уровня */ } menu li ul li { /* параметры для второго уровня */ }
Неактивен
спасибо. но одно замечание - свои теги придумовать запрещено спецификацией) Поэтому вместо <menu> юзаем <ul id="menu"> ))
Неактивен
Тэг menu существует ещё со времён HTML 2.0. Но Вы всё равно правы, т.к. он вместе с тэгом dir попал в разряд deprecated и в будущем полностью умрёт. Так что, действительно, лучше использовать ul.
Ещё я не уверен, что в первоначальном выводе тэг li будет открыт в самом начале и закрыт в самом конце. Нужно будет Вам проверить. Если нет -- прописать:
<ul id="menu"> <li class="sub"> <!-- выводим 5000 статей, сортируем по имени секций и затем по имени статей --> <txp:article_custom limit="5000" form="menu" sort="Section, Title"/> </li> </ul>
Неактивен
Ну я валидность тегов смотрю на http://htmlbook.ru/. Там он не наблюдался.
А вот по этому замечанию только хотел написать - при выводе срабатывает тег if_difference и закрывается список. сейчас попробую.
Неактивен
Неправильно:
if_difference
Правильно:
if_different
Описание на англ. яз.:
http://textpattern.net/wiki/index.php?t … _different
Неактивен
Вобщем сделал как советовали. Немного подкоректировал, чтобы хотели напистаь получилось вот так -
<ul id="menu">
<li class="sub">
<ul>
<txp:article_custom limit="5000" form="menu" sort="Section, Title"/>
</ul>
</li>
</ul>
Форма не изменилась. Т.е. мы сверху создаем пустой элемент списка - он сразу закрывается первым выводом. Еще я заметил, что вконце не закрываются - поэтому мы его явно закроем. Конечно, было бы лучше, если бы первый пустой список не создавался, но пока пусть так и будет..
Неактивен
Если без первого пустого, тогда вот так:
http://victorus.net/article/make-sitemap
Неактивен
ну. Я скопировал код и теги не трогал. Трогал только то, что их окружают. Ну видимо не рассмотрел и написал так как расмотрел, но в движке указан Ваш вариант
Неактивен
Хм. если чесно - не нашол отличий с Вашим способом. Там тоже в начале должно условие переходить в true и закрыватся список..
Неактивен
У него список чуть-чуть по другому устроен: новая секция => новый список.
У Вас в первом сообщении: новая секция => новая строка в списке первого уровня.
Неактивен
ну я понял. но, походу, у него тоже создается пустая пара <ul></ul>, ибо впервый раз условие выполняется. Ну ладно, можно и так, с пустой строкой. Благо, дизайн оно не ломает..
Неактивен
Скажите, пожалуйста, еще, как исключить конкретную секцию из выдачи? уTxp:article_custom есть параметр как section - но он указывает секцию, из которой выбирать статьи. А мне нужно ее исключить. Как это правильно сделать?
Неактивен
А что мешает перечислить все нужные секции в аттрибуте?
Или, как вариант, в форме, которая обрабатывает этот тег вставить условие, чтобы статья выводилась только если НЕ секция "о нас", к примеру.
Неактивен
Хм. Тогда вопрос - как указать в условии это НЕ? в PHP просто достаточно ! поставить. А как тут быть?
Неактивен
Проявите фантазию:
<txp:if_section name="about"> <!-- ничего не делать --> <txp:else /> <!-- Ага! Здесь блок для секция НЕ about --> </txp:if_section>
Неактивен
ну в принципе у меня такая и была мысль. Ток я думал, мож чтото другое есть..
Неактивен