Параметры тега weblog entries

Для управления работой тега weblog, к нему может быть добавлено множество параметров. Параметры добавляются в открывающую часть тега. Вот простой пример тега weblog с тремя параметрами.

{exp:weblog:entries  weblog="news"  orderby="date"  limit="15" }
content
{/exp:weblog:entries}

В этом примере отображаются только 15 записей раздела, все из раздела "news", отсортированные по "дате".

Доступны следующие параметры:

author_id=

author_id="1"

Этот параметр ограничивает запрос по идентификатору (ID) пользователя автора записи. Вы можете использовать символ ("|"), для указания нескольких идентификаторов:

author_id="1|2|3"

Или вы можете добавить "not" для исключения идентификаторов авторов:

author_id="not 1|2|3" Вы можете также использовать константу "CURRENT_USER", чтобы отобразить записи текущего авторизованного пользователя.

author_id="CURRENT_USER"

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

author_id="NOT_CURRENT_USER"

backspace=

backspace="6"

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

Entry 1 title<br />
Entry 2 title<br />
Entry 3 title<br />

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

{exp:weblog:entries backspace="6"}

{title}<br />

{/exp:weblog:entries}

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

Entry 1 title<br />
Entry 2 title<br />
Entry 3 title

Примечание:  Параметр "backspace" будет работать только, если у вас для параметра rdf="off", который определяется в настройке "Добавить код авто-определения трекбэков на ваши страницы?", установлено нет на странице управления разделами.

cache=, refresh=

cache="yes" refresh="60"

Этот параметр включает кэширование тега. Refresh - количество минут между обновлениями кэша.

cat_limit=

cat_limit="30"

С помощью этого параметра вы можете установить разные ограничения по количеству выводимых записей в категориях и при обычном выводе. К примеру, допустим, что вы хотите показывать только 10 записей на основной странице вашего раздела, но, в тоже время, вы хотите показывать 100 записей при просмотре отдельной категории. Для этого вам необходимо сделать следующее:

{exp:weblog:entries limit="10" cat_limit="100"}

category=

category="2"

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

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

category="2|45|4|9"

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

category="not 4|5|7"

Вы можете использовать конъюнкцию (&), чтобы получать только те записи, которые принадлежат всем указанным категориям:

category="3&7&8"

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

category="not 3&5"

Примечание: Когда вы будете использовать параметр category="3|4", вы неявно сообщаете ExpressionEngine обрабатывать только те записи, которые назначены в одну или более категорий. Если у вас есть записи, которые не назначены ни в одну категорию, то они игнорируются и не будут включены в результаты. Однако если вы используете отрицание (category="not 3|4"), то будут отображаться все записи без указанных категорий включая те, которые не принадлежат ни одной категории. Для изменения этого поведения, когда исключаются категории, используется параметр uncategoried_entries="".

Примечание: Использование этого параметра автоматически вынудит ExpressionEngine игнорировать любую информацию о категории, определенную через URL. Например, если вы находитесь на "странице категории" (например в URL присутствует сегмент "/C13/"), то он будет полностью игнорироваться EE в пользу того, что вы указали через параметр.

category_group=

category_group="2"

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

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

category_group="1|2|4"

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

category_group="not 2"

disable=

disable="categories"

Параметр disable= дает вам возможность отключать функции тега, которые вы не используете, для повышения производительности. Тег weblog entries разработан так, что по умолчанию производится выборка большого количества информации: Категории, заказные поля, данные пользователя, и т.д. В зависимости от того, как вы используете тег, некоторые из этих данных могут быть не нужны. С помощью параметра "disable" вы можете отключить эти функции тега, чтобы сделать его более "легким".

Синтаксис для параметра disable следующий: disable="ITEM YOU WANT TO DISABLE". Существует пять элементов, которые могут быть выключены:

ПРИМЕЧАНИЕ: Если вы отключите категории, поля категорий будут автоматически отключены.

Вы можете отключить несколько элементов, разделяя их, как показано ниже:

disable="categories|member_data|trackbacks"

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

Например, если вы используете тег weblog entries для отображения заголовков 10 последних записей:

{exp:weblog:entries orderby="date" sort="desc" limit="10"}
<a href="{title_permalink=weblog/comments}">{title}</a><br />
{/exp:weblog:entries}

В этом примере вы отображаете только заголовки ваших записей, и нечего больше; тем не менее, тег weblog извлекает категории и другие данные автоматически. Используя параметр disable=, вы можете отключить ненужные функции для того, чтобы исключить их из запроса. В нашем случае вы не нуждаетесь ни в одной из функций, и все они могут быть отключены.

{exp:weblog:entries orderby="date" sort="desc" limit="10" disable="categories|custom_fields|member_data|pagination|trackbacks"}
<a href="{title_permalink=weblog/comments}">{title}</a><br />
{/exp:weblog:entries}

display_by=

display_by="month" display_by="day" display_by="week"

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

Эти параметры взаимодействуют с параметром "limit", для определения количества записей на страницу. Например, если вы хотите показать только последний месяц, который содержит записи, то вам необходимо выполнить следующее:

display_by="month" limit="1"

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

display_by="month" limit="3"

Если вы желаете показывать записи только за один день, используйте следующий код:

display_by="day" limit="1"

Если вы хотите показать записи за 14 дней, то используйте следующий код:

display_by="day" limit="14"

Это необязательные параметры. Если вы не будете использовать этот параметр, то ваши записи будут ограничены по количеству. Другими словами:

limit="20"

Будет выводить 20 записей.

display_by="week"

Параметр display_by="week" позволяет вам отображать записи по неделям. Чтобы отобразить последнюю неделю, в которой содержаться записи, вам можно использовать:

display_by="week" limit="1"

Параметр display_by="week" может использоваться с другими параметрами show_current_week="", start_day="", и week_sort="" , для улучшения контроля над выводом недель, и использования разбивки на страницы.

Например, если вы хотите отображать по умолчанию записи текущей недели, но при этом отображать записи из будущей недели с разбивкой на страницы, вы можете использовать следующее:

display_by="week" limit="1" show_future_entries="yes" show_current_week="yes"

Примечание: Параметр display_by использует последнюю установку времени, используемую в записях. Если вы используете display_by="day", то будет показан последний день с записями. Если вы объедините display_by="month" с limit="3", тогда, будут показаны последние 3 месяца с записями, даже если эти месяцы не следуют один за другим.

dynamic=

dynamic="off"

Механизм отображения раздела устанавливает некоторые параметры динамически, на основании того, что находится в URL. Однако бывают случаи, когда, вы не хотите, чтобы действовали параметры, которые содержаться в URL. Для отключения динамического характера тега weblog, используйте параметр dynamic="off".

Это бывает полезно, если, например, вы захотите поместить список записей на врезке, сбоку от основного текста на вашем сайте, и отображать их всегда, независимо от того, на какой странице сайта вы находитесь (главная страница, архивы, комментарии, и т.д.). Устанавливая dynamic="off", вы гарантируете, что на список не будет воздействовать информация, которая в данный момент находится в URL.

dynamic_start=

dynamic_start="on"

Этот параметр используется, только если тег применяется для RSS/Atom feed. Этот параметр не будет работать в любом другом случае. Значение по умолчанию "off", поэтому вы должны указать этот параметр, если желаете использовать его функции в своих интересах.

Использование этого параметра при передаче RSS/Atom, разрешает ExpressionEngine, динамически изменять дату начала передачи. Это используется, для того, чтобы EE выдавал только новый контент, когда это требует запрос передачи через RFC3229 совместимый запрос (RFC3229 info).

entry_id=

entry_id="147"

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

Вы можете определить несколько записей, разделяя их символом ("|"):

entry_id="13|42|147"

Или использовать "not", для исключения записей:

entry_id="not 45|534|807"

entry_id_from=

entry_id_from="20"

Этот параметр используется вместе с параметром entry_id_to=, для определения диапазона записей, выводимых на экран. Этот параметр указывает начало диапазона. В примере выше, тег выводил бы на экран записи, начиная с записи, имеющей идентификатор (ID) 20.

entry_id_to=

entry_id_to="40"

Этот параметр используется совместно с параметром entry_id_from=, для определения диапазона выводимых на экран записей. Этот параметр указывает конец диапазона. В примере выше, тег остановил бы вывод на экран записей после записи с идентификатором (ID) 40,

group_id=

group_id="4"

Вы можете решить отображать записи, созданные определенными группами пользователей (группы указываются по идентификатору (ID)). Если вы выбрали "4", то будут отображаться записи, созданные только пользователями из группы пользователей с идентификатором (ID) 4. Вы можете выбрать несколько групп пользователей, используя вертикальную черту:

group_id="2|3|4"

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

group_id="not 2|3|4"

limit=

limit="12"

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

month_limit=

month_limit="30"

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

{exp:weblog:entries limit="10" month_limit="100"}

offset=

offset="1"

Этот параметр задает смещение вывода на X записей. Например, если вы хотите показать все записи, кроме трех самых последних, то вам необходимо сделать следующее:

offset="3"

orderby=

orderby="date"

Параметр "order" устанавливает порядок отображения записей. Варианты установки этого параметра включают:

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

orderby="name_of_field"

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

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

Множественные расстановки и сортировки

С параметрами orderby="" и sort="" можно одновременно использовать несколько значений, используя символ вертикальной черты. С помощью этого вы можете создавать несколько уровней расстановки и затем определять правила сортировки для этих уровней.

Например, если вы желаете упорядочить видимые имена по алфавиту и затем получить самые последние записи первыми, то вам необходимо использовать следующие параметры:

orderby="screen_name|date" sort="desc|asc"

Менеджер сайтов и orderby=

В параметре orderby= можно использовать короткое имя сайта в пространстве имен.

orderby="default_site:body|second_site:summary"

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

orderby="default_site:body|second_site:summary"

Результат будет выглядеть так:

Default Site - Entry One - Albert
Default Site - Entry Two - Bobby
Second Site  - Entry One - Alligator
Second Site  - Entry Two - Buffalo

Если у вас есть несколько сайтов с одинаковыми именами заказных полей, то вы можете указать это короткое имя (без указания сайта) и ExpressionEngine обработает эти два поля как одно значение, и у вас будет возможность упорядочить их, как одно и то же поле:

orderby="body" Default Site - Entry One - Albert
Second Site  - Entry One - Alligator
Default Site - Entry Two - Bobby
Second Site  - Entry Two - Buffalo

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

paginate=

paginate="top" paginate="bottom" paginate="both"

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

  1. top: Навигационный текст и ссылки будут отображаться сверху списка записей.
  2. bottom: Навигационный текст и ссылки будут отображаться снизу списка записей.
  3. both: Навигационный текст и ссылки будут отображаться и сверху и снизу списка записей.

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

paginate_base=

paginate_base="site/index"

Этот параметр указывает ExpressionEngine отменить стандартные ссылки в коде разбивки на страницы, и использовать явно указанную группу шаблонов и шаблон.

paginate_type=

paginate_type="field"

Этот параметр указывает ExpressionEngine функционировать в режиме "pagination" для полей ваших записей, что позволяет автоматически распределять запись на несколько страниц. Смотрите раздел размещение записи раздела на нескольких страницах.

rdf=

rdf="off" rdf="on"

Код авто определения трекбэков RDF может быть вручную установлен для любой отдельной записи раздела. Полезно использовать данный параметр на страницах RSS, если включена "глобальная" настройка на странице управление разделами.

related_categories_mode=

related_categories_mode="off" related_categories_mode="on"

Важное замечание: Этот параметр предназначен для использования, только если тег weblog entries применяется на странице "одиночной записи". Страницы одиночных записей - это страницы, на которых отображается единственная запись, определяемая по идентификатору (ID) или заголовку URL в URL.

Если параметр включен, то он изменяет поведение тега {exp:weblog:entries}, заставляя его игнорировать идентификатор (ID) записи или заголовок URL, найденные в URL, и выводить вместо этого список записей, которые находятся в той же самой категории, что и запись, указанная в URL. Используя этот параметр, вы можете создать список записей, которые "связаны" с одной первичной, определяемой по URL.

Предел по умолчанию, когда включен related_categories_mode="" - 10 записей, и может быть переопределен с помощью дополнительного параметра limit="".

Когда в параметре related_categories_mode="" установлено "on", для тега weblog entries доступны два дополнительных параметра: custom_fields="on" и member_data="on", с помощью которых можно выводить заказные поля данных и данных пользователя соответственно. По умолчанию, эти два параметра отключены для снижения нагрузки. Ниже приведен упрощенный пример, где включены оба дополнительных параметра:

{exp:weblog:entries related_categories_mode="on" custom_fields="on" member_data="on"}
    <h3>{title}</h3>
    {body}
    <div class="posted">Posted by {author} on {entry_date format='%m/%d'} at {entry_date format='%h:%i %A'}</div>
{/exp:weblog:entries}

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

relaxed_categories=

relaxed_categories="yes"

Этот параметр позволяет вам использовать индикатор категорий в своих URL с тегом записей, который определяет несколько разделов не использующих общие группы категорий.

require_entry="yes"

require_entry="yes"

Этот параметр сообщает тегу weblog, что он должен ожидать, что URL будет содержать корректный идентификатор записи (ID) или корректный заголовок URL. Если идентификатор (ID) не будет найден в URL, то тег не будет выводить никаких данных. Обычно, тег weblog выводит какую-нибудь информацию, даже если URL не указывает на отдельную запись. Например, на основной странице вашего раздела обычно отображается несколько из ваших новых записей. Тогда как страницы "одиночных записей", такие как страница комментариев, покажет одиночную запись, на основании информации в URL. Однако если запрашивается страница одиночной записи, но URL не содержит корректного идентификатора (ID), то этот параметр сообщит тегу, что вы не желаете, чтобы шаблон что-нибудь выводил на экран.

Примечание: Вы будете часто использовать этот параметр вместе с условием no results.

search:field_name=

search:body="pickles"

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

ПРИМЕЧАНИЕ: С помощью этого параметра выполняется поиск заказных полей только следующих типов: "Text Input", "Textarea", и "Drop-down Lists".

"Точное" соответствие

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

search:body="=pickles|shoes"

В этом примере были бы найдены все записи, где в заказном поле 'body' присутствует или 'pickles' или 'shoes'.

Или вы можете использовать "not", для исключения записей:

search:body="=not pickles|shoes"

В этом примере были бы найдены все записи, где в заказном поле 'body' не было бы ни 'pickles', ни 'shoes'. Обратите внимание, что знак равенства предшествует ключевому слову "not".

Поиск "Вхождений"

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

search:body="pickles|shoes"

В этом примере были бы найдены все записи, в которых содержатся термин "pickles" или содержат термин "shoes".

search:body="not pickles|shoes"

В этом примере были бы найдены все записи, которые не содержат ни термина "pickles", ни термина "shoes".

Поиск "вхождений", также позволяет вам использовать объединение набора терминов. Вместо того чтобы разделять термины символом ("|"), вы можете разделить их двойными амперсандами (так, чтобы отдельные амперсанды все еще могли использоваться, как часть поисковых терминов).

search:body="pickles&&shoes"

В этом примере были бы найдены все записи, которые содержат и термин "pickles" и термин "shoes".

search:body="not pickles&&shoes"

Этот пример возвратил бы все записи, которые не содержат оба термина "pickles" и "shoes". Он все еще отображал бы записи, которые содержат слово "pickles", но при этом в заказном поле также не должно содержится слово "shoes".

Когда выполняется поиск "вхождений", ExpressionEngine буквально ищет только соответствия для комбинации данных букв. Например, использование "cat" в поиске "вхождений", соответствовал бы записям с "cat", "cats", "category", "vocation", и т.д. Если вам необходимо найти "вхождения", но только для записей, которые содержат это слово целиком, как самостоятельное, то вы можете добавить специальный триггер \W после термина. search:body="cat\W" Приведенный выше пример возвратит все записи, которые содержат целое слово "cat". Он не будет соответствовать записям, где фраза "cat" находиться в пределах другого слова.

Включение / Исключение пустых полей

Если вы желаете отобразить только те записи, которые содержат (или не содержат) контент, используйте специальную константу поиска IS_EMPTY.

search:body="IS_EMPTY"

Этот пример возвратил бы все результаты, где поле body пустое.

search:body="not IS_EMPTY"

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

Константа поиска IS_EMPTY также может использоваться вместе с другими терминами поиска, и для поиска "точного" соответствия и для поиска "вхождений".

search:body="=IS_EMPTY|sandwich"

Так как она содержит префикс со знаком =, то это пример поиска "точного" соответствия, и он возвратил бы все результаты, где поле body пустое или содержит "sandwich".

search:body="IS_EMPTY|sandwich"

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

search:body="not IS_EMPTY|sandwich|salad"

Этот пример возвратит только те записи, у которых есть контент, но которые не содержат слова "sandwich", и не содержат слова "salad".

ПРИМЕЧАНИЕ: Вы можете использовать множественный поиск: поскольку каждый из параметров в теге weblog entries выполняет поиск в различных полях, например: {exp:weblog:entries search:style="=ale" search:region="germany|belgium" search:rating="=3|4|5"}

show_current_week=

show_current_week="yes"

Требует использования параметра display_by="week". Когда установлено на "да", он отображает текущую неделю по умолчанию (т.е. отсутствует разбивка на страницы в URL) и автоматически корректирует ссылки разбивки на страницы, чтобы указывать корректную страницу в течение этой недели.

show_expired=

show_expired="yes"

Вы можете указать, чтобы отображались "просроченные" записи.

show_future_entries=

show_future_entries="yes"

С помощью этого тега вы можете указать, отображать или нет записи с "будущей" датой. Эта опция полезна для создания, например, списка событий, некоторые из которых еще не произошли. Заметим, что EE по-прежнему будет отображать "просроченные" записи; этот параметр просто указывает EE включать "будущие записи".

show_pages=

show_pages="only" show_pages="no"

С помощью этого тега вы можете указать модулю разделов сайта, выводить записи, для создания которых использовался модуль страниц. Также вы можете установить, чтобы отображались только те записи, для которых были назначены страницы. Значение по умолчанию - "yes", при этом записи с назначенными страницами обрабатываются точно так же, как и любые другие записи.

sort=

sort="asc" sort="desc"

Порядок сортировки может быть установлен по возрастанию ("asc") или по убыванию ("desc"). Порядок сортировки по умолчанию "desc" (по убыванию), если ничего не указано.

Множественные расстановки и сортировки

Так же, как и в параметре orderby="", в этом параметре кроме указания нескольких значений может использоваться символ вертикальной черты, для того, чтобы вы могли установить несколько уровней сортировки и настраивать сортировку на каждом из этих уровней. Например, если вы желаете упорядочить записи по именам (screen_name) в алфавитном порядке, и получить новые записи вначале, вам необходимо использовать следующие параметры:

orderby="screen_name|date" sort="desc|asc"

Если значение для sort не указано или указано некорректно, то будет использоваться значение по умолчанию "descending" (по уменьшению).

start_day=

start_day="Monday"

Требует использования параметра display_by="week". Позволяет выбрать, понедельник или воскресенье будет начинаться неделя. По умолчанию используется Sunday.

start_on=

start_on="2004-06-05 12:00 PM"

Вы можете указать нужную дату/время, с которой записи будут отображаться. Будут отображаться только записи, опубликованные начиная с указанной даты (включительно) и более поздние. Этот параметр часто используется вместе с параметром stop_before=, чтобы отображать записи только из указанного диапазона. Дата/время должны быть указаны в одном из следующих форматов:

Здесь, YYYY - четыре цифры года, ММ - две цифры месяца, DD - две цифры дня месяца, HH - две цифры часа, и ММ - две цифры минут. Если месяц, день, час или минута имеют только одну цифру, то перед ней необходимо ставить ноль. (например "March 9, 2004" соответствует "2004-03-09".) Если не используете формат AM/PM, то дата, как предполагается, будет в 24-часовом формате. Все даты, и время даются в локализованном формате, согласно настройкам конфигурации ExpressionEngine.

Если необходимо устанавливать дату динамически, то наиболее часто используется PHP. Разрешите PHP в шаблоне, установите "Этап анализа PHP" на вводе, и затем используйте код наподобие этого:

<?php
global $LOC;
$current_time = $LOC->decode_date('%Y-%m-%d %g:%i %A', $LOC->now);
?>

{exp:weblog:entries weblog="{my_weblog}" limit="5" sort="asc" show_future_entries="yes" start_on="<?php echo $current_time; ?>"}

Код, приведенный выше, выведет пять записей, начиная с текущего времени.

status=

status="open"

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

status="draft|reviewed|published"

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

status="not submitted|processing|closed"

stop_before=

stop_before="2004-06-12 12:00 PM"

Вы можете определить нужную дату/время, чтобы ограничит вывод записей. Только записи, опубликованные перед этой датой, будут выведены для отображения (записи точно соответствующие, указанной дате/времени не будут включены). Этот параметр часто используется вместе с параметром start_on=, для того, чтобы ограничить вывод записей определенным диапазоном. Смотрите описание параметра start_on= для получения информации о том, как указывать дату/время в параметре.

Если необходимо устанавливать дату динамически, то наиболее часто используется PHP. Разрешите PHP в шаблоне, установите "Этап анализа PHP" на вводе, и затем используйте код наподобие этого:

<?php
global $LOC;
$current_time = $LOC->decode_date('%Y-%m-%d %g:%i %A', $LOC->now - 518400);
?>

{exp:weblog:entries weblog="{my_weblog}" orderby="date" sort="desc" stop_before="<?php echo $current_time; ?>"}

Код, приведенный выше, вывел бы записи в порядке уменьшения за шесть прошедших дней (518400 - количество секунд в шести днях).

sticky=

sticky="off"

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

track_views=

ExpressionEngine позволяет вам отслеживать количество "просмотров" записи на отдельной странице. Счетчик просмотров страницы увеличивается ТОЛЬКО при просмотре страницы одиночной записи, использующей тег {exp:weblog:entries}, и только когда функция включена с использованием этого параметра в том теге, где вы желаете отслеживать просмотры. Можно использовать до четырех различных экземпляров счетчика просмотров (каждый в разных тегах на разных страницах).

Для включения счетчика просмотров вам необходимо использовать один из этих четырех параметров в теге, расположенном на странице, просмотры на которой вы хотите отслеживать.

track_views="one" track_views="two" track_views="three" track_views="four"

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

{view_count_one}
{view_count_two}
{view_count_three}
{view_count_four}

uncategorized_entries=

uncategorized_entries="n"

По умолчанию, при указании параметра category с приставкой 'not' вначале, ExpressionEngine покажет все записи за исключением указанных категорий включая любые записи без назначенных категорий. Если вам необходимо, чтобы ExpressionEngine не показывал записи вне категорий, установите "n" в этом параметре, и они будут игнорироваться.

url_title=

url_title="my_wedding"

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

url_title="my_wedding|my_honeymoon|my_kids"

Или вы можете добавить "not" для исключения некоторых заголовков URL:

url_title="not my_in_laws"

Примечание: Настоятельно рекомендуем вам использовать параметр weblog="", при использовании параметра url_title="", так как в разных разделах ExpressionEngine может быть одинаковый url_title.

username=

username="petunia"

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

username="tom|dick|harry"

Или вы можете добавить "not" для исключения некоторых пользователей:

username="not tom|dick|harry|fred" Вы можете также использовать константу "CURRENT_USER", чтобы отобразить записи текущего авторизованного пользователя.

username="CURRENT_USER"

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

username="NOT_CURRENT_USER"

weblog=

weblog="news"

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

weblog="weblog1|weblog2|weblog3"

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

weblog="not weblog1|weblog2|weblog3"

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

week_sort=

week_sort="asc"

Требует использования параметра display_by="week. Изменяет порядок сортировки недель так, чтобы вы могли отображать первыми или самые последние или старые. Не зависит от параметра sort="" , который затрагивает сортировку только записей в течение недели, но не самих недель.

year=, month=, day=

year="2003" month="12" day="23"

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

year="2002"

Чтобы показывать записи за декабрь 2003 года, необходимо указать:

year="2003" month="12"

Примечание: Не комбинируйте эти параметры с параметром "display_by", который был рассмотрен ранее, поскольку они имеют приоритет над этим параметром. Кроме того, три параметра должны применяться "в определенном порядке", что означает, что вы должны указать year если указали month и должны указывать и month и year если указали day.

Примеры

Вот несколько примеров тега weblog, в котором используются несколько параметров одновременно.

{exp:weblog:entries weblog="news|sports" limit="15"}

weblog content

{/exp:weblog:entries}

В приведенном выше примере, тег вывел бы первые 15 записей из разделов "news" и "sports".

{exp:weblog:entries limit="10" orderby="most_recent_comment" sort="desc"}

weblog content

{/exp:weblog:entries}

В примере выше, тег вывел бы 10 записей с последними комментариями.

{exp:weblog:entries group_id="not 3|5" year="2003" weblog="politics" category="17"}

weblog content

{/exp:weblog:entries}

В примере выше, тег отобразил бы записи за 2003 год, для раздела "politics", если они принадлежат категории с идентификатором "17". Будут включены только записи, созданные пользователями, не входящими в группы пользователей 3 или 5.

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