Тег weblog categories

Тег "weblog categories" выводит список ваших категорий. Базовый синтаксис тега:

{exp:weblog:categories}

{category_name}

{/exp:weblog:categories}

Все содержимое между открывающим и закрывающим тегом будет повторяться для каждой категории, поэтому, если вы хотите добавить к каждой категории какое нибудь форматирование, вам необходимо выполнить следующее:

{exp:weblog:categories}

<a href="{path=weblog/index}">{category_name}</a>
{if category_description}{category_description}{/if}

{/exp:weblog:categories}

Параметры

backspace=

backspace="6"

Этот параметр удаляет символы после последней итерации цикла. Например, если вы размещаете тег <br /> между каждой категорией, то вы получите следующее размещение:

Local News<br />
Health News<br />
Science News<br />

Однако, возможно, вам не нужен тег <br /> после последнего пункта. Добавляя параметр "backspace" вы можете удалить его. Просто сосчитайте количество символов и пробелов в позиции, которую вы хотите удалить, и укажите это количество в теге. Тег <br /> содержит 6 символов, поэтому напишем следующий код:

{exp:weblog:categories backspace="6" style="linear"}

{category_name}<br />

{/exp:weblog:categories}

После обработки и вывода на экран получим следующее:

Local News<br />
Health News<br />
Science News

Параметр "backspace" разрешен, только если вы используете для вывода категорий стиль "linear". Параметр не применяется, если для отображения списка вы используете стиль "nested".

category_group=

category_group="2"

Группа категорий определяется номером ID (номер ID (идентификатор) каждой группы категорий отображается в панели управления). Использование идентификатора дает возможность присваивать группам категорий произвольные имена (с пробелами, кавычками, и т.д.), а также дает возможность переименовывать их. Было бы намного труднее обновлять параметры тега, каждый раз при изменении имени категории.

Так же, как и со многими другими параметрами, вы можете указать произвольный набор групп категорий:

category_group="1|2|4"

Или вы можете использовать "not", чтобы исключить некоторые категории

category_group="not 2"

class=

id="my_custom_class"

При использовании стиля "nested" для вывода на экран (смотрите параметр style=), вы можете указывать атрибут "class" в открывающем теге <ul>. Значение по умолчанию - "nav_categories".

Например, если вы устанавливаете параметр как class="my_custom_class", , то начало каждой вложенной категории было бы:

<ul class="my_custom_class">

disable=

disable="category_fields"

Параметр disable= дает вам возможность отключать функции тега, которые вы не используете, для повышения производительности. Допустимые опции:

id=

id="my_custom_id"

При использовании стиля "nested" для вывода на экран (смотрите параметр style=), вы можете указывать значение атрибута "id" в открывающем теге <ul>. Значение по умолчанию - "nav_categories".

Например, если вы устанавливаете параметр как id="my_custom_id", то начало каждой вложенной категории было бы:

<ul id="my_custom_id">

parent_only=

parent_only="yes"

Используя этот параметр, вы можете выводить только "родительские" категории; ни одна подкатегория выводиться на экран не будет.

show=

show="4|7"

Используя этот параметр, вы можете определить, какие категории будут включены в список. Например, если вы хотите, чтобы отдельная категория не выводилась в списке, то вы можете определить только те, которые должны отображаться. При указании нескольких категорий их идентификаторы (ID) разделяются символом ("|").

Вы можете указать категории, которые не должны отображаться:

show="not 3|6|8"

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

show_empty=

show_empty="no" show_empty="yes"

Этот параметр определяет, будут ли выводиться категории, в которых не содержится ни одной записи. Если вы установили "no", то категории, в которых нет ни одной записи, не будут перечислены в списке категорий.

По умолчанию, категории без записей будут отображаться.

status=

status="open"

Вы можете ограничить категории записями с определенным статусом. По умолчанию всегда доступны два статуса, "open" и "closed", поэтому вы можете указывать их, если необходимо. Вы можете указать несколько статусов, разделяя их символом ("|"):

status="draft|reviewed|published"

Или исключите некоторые статусы, используя "not"

status="not submitted|processing|closed"

По умолчанию, тег categories будет отображать категории, содержащие любые записи со всеми статусами, кроме closed.

style=

style="nested"

Существует два стиля для отображения категорий: "nested" (вложенный) и "linear" (линейный).

Стиль "nested" выводит категории в виде иерархического списка. На экране категории будут отображаться в виде вложенного "неупорядоченного списка", с автоматическим добавлением тега <li> для корректного отображения иерархии:

<ul id="nav_categories">
  <li>News
    <ul>
      <li>Regional</li>
      <li>World</li>
    </ul>
    </li>
  <li>Sports
    <ul>
      <li>National
        <ul>
          <li>Football</li>
          <li>Basketball
            <ul>
              <li>Lakers</li>
              <li>Knicks</li>
            </ul>
            </li>
        </ul>
        </li>
    </ul>
    </li>
</ul>

Стиль "linear" выводит чистый список без добавления HTML:

News
Regional
World
Sports
National
Football
Basketball
Lakers
Knicks

По умолчанию, если вы не определили параметр "style", используется стиль "nested".

При использовании стиля "nested" открывающий тег <ul> будет иметь идентификатор "nav_categories". Это может использоваться как "перехватчик" для javascript или CSS в поддержке DHTML или других функциональных возможностей. Вы можете изменить значение по умолчанию, используя параметр id=.

weblog=

weblog="weblog_name"

Имя (короткое имя) раздела, на который назначены категории. Примечание: Вы можете указать только один раздел, так как каждый раздел может иметь только один список категорий. Это обязательный параметр, если только у вас не единственный раздел.

Вы должны указать этот параметр, если используете название категории в URL.

Переменные

category_description

{category_description}

Эта переменная выводит на экран содержимое поля "Описание категории". Переменная может использоваться внутри условного выражения, для того, чтобы выводить описание только в том случае, если оно существует:

{if category_description}{category_description}{/if}

category_id

{category_id}

Идентификатор (ID) категории.

category_image

{category_image}

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

category_name

{category_name}

Эта переменная содержит название категории.

category_url_title

{category_url_title}

Эта переменная отображает заголовок URL категории.

count

{count}

"Количество" текущих отображаемых категрий. Если отображается пять категорий, то для четвертой категории переменная {count} будет иметь значение "4".

path=

{path=template_group/template}

Путь т.е. (группа шаблонов/шаблон), с помощью которого вы хотите отображать категории. Обычно используется со стандартным HTML тегом link:

<a href="{path=weblog/index}">{category_name}</a>

Также вы можете использовать SITE_INDEX в переменной path, для указания на индексную (домашнюю) страницу сайта. Если вы отображаете ваш раздел на домашней странице, использование SITE_INDEX является предпочтительным, так как создает более чистый URL.

<a href="{path=SITE_INDEX}">{category_name}</a>

total_results

{total_results}

Общее количество выводимых на экран категорий.

Заказные поля категорий

Ко всем заказным полям, назначенным на категорию, можно получить доступ, используя "короткое имя" поля:

{class}
{extended_description}
{category_name_fr}
и т.д..

Имена полей являются полностью динамическими, поэтому при создании любого нового поля для вашей категории, оно автоматически будет доступно, как переменная по его кроткому имени.

Выпадающее меню категорий

Вы можете выводить категории в выпадающем (dropdown) меню, используя следующий код:

<form name="catmenu" action="">
<select name="selcat" onchange="location=document.catmenu.selcat.options[document.catmenu.selcat.selectedIndex].value;">
<option value="">--Select Category--</option>
{exp:weblog:categories weblog="yourweblog" style="linear" dynamic="off"}
<option value="{path=weblog}">{category_name}</option>
{/exp:weblog:categories}
</select>
</form>

Примеры

Ниже приведены несколько примеров использования тега categories:

{exp:weblog:categories weblog="news" backspace="6"}

<a href="{path=news/entry}">{category_name}</a><br />

{/exp:weblog:categories}

Этот код создал бы список категорий в разделе "news" и ссылку на шаблон "news/entry". И удалил бы тег <br /> из последнего пункта.

{exp:weblog:categories weblog="politics" style="nested"}

<a href="{path=SITE_INDEX}">{category_name}</a>

{/exp:weblog:categories}

Этот код создал бы вложенный, неупорядоченный список категорий из раздела "politics" в виде ссылок на основную страницу раздела.

Наверх страницы