Это старая версия Справка/Разработчик/Дизайн/ObjTags за 2014-05-06 11:06:36..
ObjTags
Расширение ObjTags позволяет создавать и администрировать перекрестные ссылки (теги) на коллекции страниц, созданных с помощью WikiPatterns. Используется поверх расширения WikiPatterns.
Теги – это обычные страницы в стиле WikiPatterns, к которым инсталляция ObjTags добавляет следующий функционал:
- виртуальные формы – удобные инструменты создания и хранения ссылок на эти страницы в других таблицах AdvOntology или страницах WikiPatterns;
- экшены, визуализирующие прямые и обратные ссылки на теги;
- небольшую библиотеку сервисных функций, формирующих прямые и обратные ссылки на теги.
Одно/многоуровневые теги
Теги, как было сказано, – это обычные страницы в стиле WikiPatterns, структура которых описывается в install.php, а визуализация – в smarty-шаблоне MyTags.txt.При создании многоуровнего списка тегов smarty-шаблон MyTags.txt должен содержать экшены для создания и визуализации подтегов, например, так:
==={$data.name}==
{$data.desc}
{ldelim}{ldelim}templatesum pattern="MyTags" for="!" sortby="name" sortorder="ASC"{rdelim}{rdelim}
{ldelim}{ldelim}createpage pattern="MyTags"{rdelim}{rdelim}
Виртуальные формы
Виртуальные формы для создания ссылок на теги размещаются в админке таблицы tableview или конфигураторе шаблона install.php:- objtags pattern="MyTags" [root="Рубрики"] – для одноуровнего списка тегов
- objtagstree pattern="MyTags" [root="Рубрики"] – для многоуровнего списка тегов
Списки тегов
- {{showobjtags pattern="MyTags" [root="Авторы"] [style="br"]}} – ссылки на теги через br или,
- {{backlinksobjtags pattern="MyTags" wpfield="authortag" tagid="12"}} – ссылки на страницы, на которых стоит заданный тег в формате списка (также для этих целей может использоваться templatesum или tableview с установленным фильтром по тегу)
Функции расширения ObjTags
- $srvTags->getPageTagById($id) – возвращает имя страницы (tag)
- $srvTags->getLinksByTags($pattern, $tags=":1::2:", $root=" ") – возвращает массив ссылок на страницы тегов данного типа
- $srvTags->getAllLinksArr($pattern, $root="") – возвращает массив массивов вида array(«tag» => имя_страницы, name => имя_тега, link => ссылка_на_страницу) для тегов данного типа
- $srvTags->getLinksByTagsArr($pattern, $tags=":1::2:", $root=" ") – возвращает массив массивов для заданных тегов