PrettyTags

Компонент для удобного управления тегами на сайте.
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Павел Тычук
Пакетов
2
Закачек
1 011
Автор дополнения
Пакетов
2
Закачек
1 011
Версия 1.0.4-pl
Дата выпуска 07.10.2020
Загрузки 214
Просмотры 4 026
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.7 !
Компонент для управления тегами на сайте.
Основные преимущества:
  • Дает возможность создавать динамические красивые url для тегов. Например, site.com/tag/some-tag.
  • Есть страница по управление тегами, где мы указываем: alias, название, описание. Можно добавлять, удалять, редактировать и отключать теги.
  • Есть собственное TV-поле, в которые подгружаются все добавленные теги и нельзя нечаянно добавить новый тег, что удобно при работе с контент-менеджерами, также не показываются отключенные теги
  • Есть собственный сниппет для вывода облака тегов, который легко кастомизируется.
  • Страница с выводом тега сразу получает все поля, где мы можем легко их вывести и использовать с другими компонентами
  • Вы можете менять названия и другие поля тегов, при этом в ресурсах ничего не потеряется.
  • Намного производительнее по сравнению с ТВ «Авто-метка», так как теги собираются не у каждого ресурса, а из одной сущности

Обзор компонента
Страница с управлениями тегами.

TV-поле.


Подключение тегов к сайту
После установки компонента необходимо:
Создать ресурс, который будет отлавливать теги и указать его id в системной настройке: prettytags_resource_id
Важно: В данном ресурсе, снять галочку с “Кэшируемый” во избежании проблем.
Создать TV-поле для ресурсов, где нужны теги, с типом prettytagstv

Работа со страницей тегов.
Все теги будут отлавливаться на этой странице, в формате:
https://вашсайт.ру/url-страницы-тегов/alias-тега

В шаблоне, вы можете сразу вызывать плейсхолдеры:
[[+pretty_tags_id]]     
[[+pretty_tags_alias]]  
[[+pretty_tags_name]]   
[[+pretty_tags_description]]

Для выбора ресурсов по тегу, через pdoResource, можете вызывать так:
[[!pdoResources?
      &parents=`3`
      &includeTVs=`tags`
      &tpl=`@INLINE <p>[[+pagetitle]]</p>`
      &where=`{ "tags:LIKE":"%[[+pretty_tags_id]]%" }`
]]

Вывод тегов ресурса
Также есть сниппет prettyTagsResource для вывода тегов ресурса, простой вывод:
[[!prettyTagsResource?
    &limit=`0`
    &input=`[[*tags]]`
]]

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

  • input — значение TV-поля с тегами
  • tpl — tpl тега
  • sortby — сортировка по полю, например: sortby='name'
  • sortdir — направление сортировки, ASC или DESC
  • limit — маскимальное количество тегов на страницу, например: limit='10'
  • outputSeparator — разделить между тегами, например: outputSeparator=','

в tpl указываем свою разметку одного тега, если нужно:

<li>
    <a href="[[+url]]">[[+name]]</a>
</li>

<!-- [[+url]] - полный url на страницу тега -->
<!-- [[+alias]] - alias тега -->
<!-- [[+id]] - id тега -->
<!-- [[+name]] - название тега -->
<!-- [[+description]] - описание тега -->

Вывод облака тегов
Также есть сниппет prettyTagsResource для вывода тегов ресурса, простой вывод:
[[!prettyTagsCloud?
    &tvId=`1`
    &tpl=`tags_item`
]]

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

  • tvId — Id TV-поля с тегами, обязательный параметр
  • tpl — tpl тега
  • sortby — сортировка по полю, например: sortby='name'
  • sortdir — направление сортировки, ASC или DESC
  • limit — маскимальное количество тегов на страницу, например: limit='10'
  • outputSeparator — разделить между тегами, например: outputSeparator=','
  • includeUnpublished — включить неопубликованные ресурсы, например: includeUnpublished='1'
  • includeDeleted — включить удаленные ресурсы, например: includeDeleted='1'

в tpl указываем свою разметку одного тега, если нужно:
<li>
    <a href="[[+url]]">[[+name]]</a>
</li>
<!-- [[+url]] - полный url на страницу тега -->
<!-- [[+alias]] - alias тега -->
<!-- [[+id]] - id тега -->
<!-- [[+name]] - название тега -->
<!-- [[+description]] - описание тега -->
<!-- [[+count]] - количество использования тега в ресурсах -->

Более подробно с примерами, а также задать вопрос можно здесь

1.0.0-pl

  • Первый релиз

1.0.1-pl

  • Поправлена работа на странице тегов с '/' на конце, теперь работает с ним и без него
  • Добавлена системная настройка для проверки существования тегов, если включено и на странице тегов - тег не найдет, то отправляем на 404 страницу

1.0.1-pl

  • Поправлена работа на странице тегов с '/' на конце, теперь работает с ним и без него
  • Добавлена системная настройка для проверки существования тегов, если включено и на странице тегов - тег не найдет, то отправляем на 404 страницу

1.0.2-pl

  • Сортировка по названию тега в ресурсе в тв
  • Автоматическое заполнение alias при создания тегов

1.0.3-pl

  • добавлен плейсхолдер [[+count]] для tpl в сниппете prettyTagsCloud
  • добавлены параметры сниппета prettyTagsCloud: tvId (id TV с тегами, обязательный), includeUnpublished (включать с неопубликованными ресурсами), includeDeleted (включать с удаленными ресурсами)

1.0.4-pl

  • исправлен сниппет prettyTagsCloud для корректной работы с удаленными тегами

Последние обсуждения в сообществе MODX.pro