Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 16-05-2006 16:42:26

marazmus
наш
Откуда: Россия, Октябрьский
Зарегистрирован: 23-01-2006
Сообщений: 217
Вебсайт

class="active" для текущей категории

Здравствуйте всем smile

Есть нужда в решении такой задачи:

Примерная структура сайта:

Секция = '"articles"
Категории = "news, blog, some_text, another_text"
(используем их только для статей в этой секции, чтобы не путаться)

Выводим категории списком (ul) в сайдбаре.

Нужен плагин или метод, который может поставить class="active" ссылке на категорию в этом списке, если мы открыли статью или открыли категорию статьи.

Немного по-другому smile :

Нужно получить такое:

Текущая секция:

Код:

<ul> 

  <li> 
    <a class="active"> Статьи </a> 
  </li> 

  <li> ... другие секции ... </li> 

</ul>

(реализуемо плагинами по типу ako_nav или rdt_dynamenus)

В блоке контента - конкретная статья. Ей присвоена определенная категория (к примеру, "Автомобили").

В сайдбаре - список категорий:

Код:

<ul> 
  <li> 
    <a class="active"> Автомобили </a> 
  </li>

  <li> 
    <a> Мотоциклы </a> 
  </li>

Типа так.
Нашел несколько плагинов (stw_category_tree и типа этого), в них реализовано class="active" для случая, когда мы  прямо "вошли" в эту категорию и в блоке контента у нас список статей этой категории. Но class="active" теряется, как только мы входим в конкретную статью. Так что ими проблема не решается sad

p.s. Крайне неохота изучать php, может, есть возможность обойтись плагинами? Или вообще тегами текстпаттерна? (Я могу просто тормозить sad )

p.p.s. Надобность - элементарная. Подсветка через цсс текущей секции, и текущей категории. По типу двухуровневая навигация smile.

Неактивен

 

#2 27-05-2006 12:03:10

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: class="active" для текущей категории

пользуйся тэгами <txp:if_section>###</txp:if_section>

я делал так:
(может несколько громоздко, но без плагинов:)

Код:

<h2>Разделы</h2>

<ul>
<li>
<txp:if_section name="">
<a class="rightactive" href="<txp:site_url />">Главная</a>
<txp:else />
<a href="<txp:site_url />">Главная</a>
</txp:if_section>
</li>

<li>
<txp:if_section name="about">
<a class="rightactive" href="<txp:site_url />about/">О издательстве</a>
<txp:else />
<a href="<txp:site_url />about/">О издательстве</a>
</txp:if_section>
</li>

<li>
<txp:if_section name="ourbooks">
<a class="rightactive" href="<txp:site_url />ourbooks/">Наши издания</a>
<txp:else />
<a href="<txp:site_url />ourbooks/">Наши издания</a>
</txp:if_section>
</li>

<li>
<txp:if_section name="contact">
<a class="rightactive" href="<txp:site_url />contact/">Контакты</a>
<txp:else />
<a href="<txp:site_url />contact/">Контакты</a>
</txp:if_section>
</li>

<li>
<txp:if_section name="article">
<a class="rightactive" href="<txp:site_url />article/">Статьи</a>
<txp:else />
<a href="<txp:site_url />article/">Статьи</a>
</txp:if_section>
</li>

<li>
<txp:if_section name="gostevaya">
<a class="rightactive" href="<txp:site_url />gostevaya/">Гостевая книга</a>
<txp:else />
<a href="<txp:site_url />gostevaya/">Гостевая книга</a>
</txp:if_section>
</li>

<li>
<txp:if_section name="calendar">
<a class="rightactive" href="<txp:site_url />calendar/">Календарь</a>
<txp:else />
<a href="<txp:site_url />calendar/">Календарь</a>
</txp:if_section>
</li>
</ul>

Вот как оно получилось в деле:)
_http://www.rus-chronograph.ru/

Отредактированно page.proof (27-05-2006 12:12:21)

Неактивен

 

#3 27-05-2006 20:49:00

qqq123
земля
Зарегистрирован: 27-05-2006
Сообщений: 101

Re: class="active" для текущей категории

Правильно писать - "Об издательстве".

Неактивен

 

#4 28-05-2006 19:32:15

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: class="active" для текущей категории

Спасибо, исправим:)

Отредактированно page.proof (28-05-2006 19:33:20)

Неактивен

 

#5 29-05-2006 10:29:59

marazmus
наш
Откуда: Россия, Октябрьский
Зарегистрирован: 23-01-2006
Сообщений: 217
Вебсайт

Re: class="active" для текущей категории

Спасибо за пример кода smile
Но это одноуровневая структура, всего лишь список секций, с классом active для секции. Плагинов полно для этого.
Проблема в том, что у меня для каждой секции есть еще список определенных категорий (да, да, я знаю, что так в текстпаттерне не рекомендуется делать smile, но на другие движки пересаживаться в лом), и для каждой секции свои категории. Вот для категории и нужен класс active.

Неактивен

 

#6 29-05-2006 15:31:34

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: class="active" для текущей категории

Может быть тогда совмещать stw_category_tree и <txp:if_section>###</txp:if_section>?
и в новой версии stw_category появились новые возможности по выставлению зависимостей от секции

**************
NEW IN 0.7:
When you don’t define the section property, category links are created without a specified section. (Before, it assumed all links should stay within the current section.) To use the current section, whatever it is, set section to ”*”.
**************
но я еще не пытал.

Неактивен

 

#7 30-05-2006 07:44:30

marazmus
наш
Откуда: Россия, Октябрьский
Зарегистрирован: 23-01-2006
Сообщений: 217
Вебсайт

Re: class="active" для текущей категории

Да, сейчас у меня как раз и работает связка ako_nav + stw_category_tree. При "заходе" в секцию или статью (что ведет к заходу в секцию) дерево категорий формируется автоматом для текущей секции. Это приятно smile

Код:

<!-- sidebar_category_list -->
<div id="sidebar_category_list">

<txp:if_section name="">

  <h4>Категории:</h4>
  <txp:stw_category_tree section="articles" type = "article" count="()!" killempties="true"  />

<txp:else />

  <h4>Категории раздела:</h4>
  <txp:stw_category_tree section="*" type = "article" count="()!" killempties="true" localized="y" />

</txp:if_section>

</div> <!-- sidebar_category_list -->

На класс active пока забил. Все равно "теряет фокус" при выборе статей определенной категории. Короче, пока нет способа сделать нормальную двухуровневую иерархию на textpattern, даже модулями. Может, кто еще найдет способ.

p.s. Не сочтите за рекламу - я не имею к нижеприведенному ресурсу никакого отношения. Просто то, чего я хочу в итоге добиться (хотя бы визуально), на этом примере очень хорошо видно.
_http://www.mediapark-klinik.de/e56/e78/e166/index_rus.html
Ясно видна иерархия: Секция -> Категория -> Подкатегория.

p.p.s. Все, что я пишу, ни в коем случае не наезды на (мой любимый) текстпаттерн smile. Просто угнетает эта невозможность делать очевидные вещи простыми (желательно встроенными) средствами. Ведь навигация и иерархия контента - это базовые понятия. Конечная цель - не дать человеку потеряться на сайте и дать ему ориентир - где он находится сейчас. Особенно на сайтах с большой иерархией. Вот и сиди, думай - то ли забить на иерархию и сделать кажущуюся одномерную простоту секция+категория, которая потом обернется головняками от пользователей; то ли забить на текстпаттерн и взять что-нибудь типа MODx (клон etomite) или что еще (что сильно корежит после txp sad )...

Отредактированно marazmus (30-05-2006 07:56:56)

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru