Идея плагина "Расширенные теги"
Захотелось сделать что-то подобное кинопоиску. Где навигация идет по разного рода тегам.
Плагин должен
— добавлять возможность создавать группы тегов,
— определять принадлежность к разным типам топиков или блогов.
— задавать параметры валидации.
В общем в скриншотах то, что получилось.
На основе тегов легко можно делать меню, выдергивая теги, соотнесенные с каким-то конкретным ключом, например «жанром».
Сами ссылки работают как обычные ссылки тегов, то есть выводятся все топики, где этот тег встречается.
Реализация частично использует ORM.
Кому охота потестить, взять можно здесь.
Для разработки использовалась последняя LS 1.0.1 и шаблон synio.
Плагин должен
— добавлять возможность создавать группы тегов,
— определять принадлежность к разным типам топиков или блогов.
— задавать параметры валидации.
В общем в скриншотах то, что получилось.
На основе тегов легко можно делать меню, выдергивая теги, соотнесенные с каким-то конкретным ключом, например «жанром».
Сами ссылки работают как обычные ссылки тегов, то есть выводятся все топики, где этот тег встречается.
Реализация частично использует ORM.
Кому охота потестить, взять можно здесь.
Для разработки использовалась последняя LS 1.0.1 и шаблон synio.
176 комментариев
Несколько вопросов:
1. Откуда берутся типы топиков? У меня например есть свои типы топиков, смогу ли я к ним прикрутить?
2. Поиск по этим полям будет? Например «Дикий ангел орейро»
3. Обычные теги остаются?
Для поиска надо корректировать конфиг Сфинкса, добавлять туда поле доптегов для индекса.
Обычные теги остаются, если к данному топику нет групп тегов.
SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE field = 'topic_type'' at line 2 at /home/www/city/mylivestreet/plugins/tagextender/classes/modules/topic/mapper/Topic.mapper.class.php line 60
Array ( [code] => 1064 [message] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE field = 'topic_type'' at line 2 [query] => SHOW COLUMNS FROM soc_topic WHERE field = 'topic_type' [context] => /home/www/city/mylivestreet/plugins/tagextender/classes/modules/topic/mapper/Topic.mapper.class.php line 60 )
выполняется?
А просто ?
При добавлении новой категории выдает ошибку:
Array ( [allow_empty] => 1 )
Warning: Cannot modify header information — headers already sent by (output started at Z:\home\test1.ru\www\plugins\tagextender\classes\modules\tagextender\entity\TopicTagGroup.entity.class.php:102) in Z:\home\test1.ru\www\engine\include\function.php on line 220
Но сама категория добавляется и работает нормально.
в TopicTagGroup.entity.class.php
надо заменить на
При выходе стабильной версии обязательно продонейчу!
Было бы еще здорово, что бы создавать наборы групп тегов для различных блогов.
Например, следуя вашей фильмо-идеологии,
Для топиков блога «художественные фильмы» — Актеры, Режжисеры, Жанры
Для блога «сериалы» — Актеры, Режжисеры, Жанры, Сезоны
Для блога «мультфильмы» — Актеры, Режжисеры, Жанры, Мультипликаторы
Режжисеры— режиссеры, конечно :-)К примеру, редактирование группы тегов «Дата выхода»:
…
…
…
Привязка к блогам:
+ Художественные фильмы
+ Сериалы
— Мультфильмы
+ Документальные фильмы
С одной стороны это не совсем правильно, а с другой стороны зачем городить лишнее
Ошибка: Файл плагина не найден
Fatal error: Class 'PluginTagextender' not found in /home/muldy/data/www/ihdwallpaper.net/engine/classes/Engine.class.php on line 465
Можно в /plugins/tagextender/classes/modules/topic/entity/Topic.entity.class.php сначала присвоить переменной func_get_args(), а затем переменную вставить вместо func_get_args() в параметрах
Warning: Invalid argument supplied for foreach() in /var/www/megotrip/megotrip.com/plugins/tagextender/classes/modules/topic/entity/Topic.entity.class.php on line 20
Чтобы это могло значить?
поменять на
Fatal error: Class 'PluginTagextender_Inherit_ModuleTopic' not found in /classes/modules/topic/Topic.class.php on line 3
Буду отписыватьсяЙ
Еще раз спасибо за плагин!
сайт/tag/grouptag/nametag и сайт/tag/nametag одинаковые!!!!!!
Можно это как то устранить??
Сам поиск тега идет только по группе тегов keyword.
Если убрать из урла keyword, тогда пропадет смысл вообще их делить по группам.
Создал группы тегов, например, SampleGroup1, SampleGroup2.
Создаю топик. Добавляю в каждую группу свои теги.
В итоге теги видны в общем облаке тегов, но по поиску по этим тегам — выборка выдает пустой результат.
ИМХО, либо исключать группированные теги из общего облака тегов, либо /tag/SampleGroup1/groupTestTag1/ должен быть синонимом к /tag/groupTestTag1/
иначе пользователи придут в замешательство.
Заметил еще особенность — после деактивации плагина, тег в главном облаке становится кликабельным с результатом, т.е., по нему происходит результативная выборка. Но, в теле топика этот тег отображается как Теги: нет
После интуитивного добавления новой категории, пишет:
Warning: array_values() expects parameter 1 to be array, null given in Z:\home\test-site.ru\www\plugins\Tagextender\classes\actions\ActionAdmin.class.php on line 109
Ошибка: Поля NOT_FOUND_LANG_TEXT неверное
Версия php 5.3.13
Шаблон synio
Fatal error: Class 'PluginTagextender' not found in /home/muldy/data/www/ihdwallpaper.net/engine/classes/Engine.class.php
вот ошибка. LS 1.0.3
кеш сбрасывали?
кеш не сбрасывал, но тут мне помощь пригодится — только поставил ЛС, разбираюсь пока что)
К слову, эффект повторяется
Fatal error: Class 'PluginTagextender' not found in %link%/engine/classes/Engine.class.php on line 472
Там вот это:
protected function LoadPlugins() {
if($aPluginList = func_list_plugins()) {
foreach ($aPluginList as $sPluginName) {
$sClassName='Plugin'.func_camelize($sPluginName);
$oPlugin=new $sClassName;
$oPlugin->Delegate();
$this->aPlugins[$sPluginName]=$oPlugin;
}
}
}
первую проверку он проходит, а вот при создании класса начинает быть чувствительным.
Советую разве что перепаковать для дураков как я :-D
Warning: Invalid argument supplied for foreach() in %link%/docs/plugins/tagextender/classes/modules/topic/entity/Topic.entity.class.php on line 130
Warning: Cannot modify header information — headers already sent by (output started at %link%/docs/plugins/tagextender/classes/modules/topic/entity/Topic.entity.class.php:130) in %link%/docs/engine/include/function.php on line 234
Warning: Cannot modify header information — headers already sent by (output started at %link%/docs/plugins/tagextender/classes/modules/topic/entity/Topic.entity.class.php:130) in %link%/docs/engine/include/function.php on line 235
Окей, займусь.
Если ещё найду подобных вещей сообщать?
Сейчас сбрасываю кэш для проверки
нет ли настройки убрать под динамический кат их?.. а если нет, куда стоит лезть добавлять кусок кода?
допустим есть 10 категорий. это длинный столбец даже без заполненности. они уберутся под какой-нибудь скрытый div или это добавить — а если да, то куда смотреть?
ну можно в шаблоне inject.topic.form.tpl скрыть их и сделать toggle по клику.
элемент нужен будет почти статический, не проблема добавить должно быть
если хотите не все теги выводить, то можно так:
Займусь вставкой
хз, я без сожалений ейсадмина отключил, не так нужен
В какой части плагина можно настроить вывод стандартного облака тегов _Вместе_ с группированными?
а они кешируются где-то ещё?
напишите мне в лс админский доступ
к слову, не видели нигде плагин поиска по нескольким тегам? нигде не вижу О_о
В данном виде поиск по нескольким тегам будет усложнять запрос. Придется таблицу тегов джоинить столько раз, сколько тегов используется (если нужно, чтобы они одновременно присутствовали в топике)
И это печалит — хотелось бы реализовать хотя бы вложенные, если не одновременные
Вот смотрите пример
То что слева фильтры — то ИЛИ. А сверху удобства с множественным выбором — И
хороший повод мне выучить принцип работы плагинов лайвстрита, я считаю)) раз уж такого нет
Они там лежат строкой, можно безо всяких юнионов делать IF topic_tags LIKE %tagname% AND topic_tags LIKE %tag2name%
тогда и с индексами проблем особых не должно быть, но может быть вытяжка из topic_tag вполне хорошая идея, получишь айдишники постов.
Т.е. в идеале иметь в конфиге ещё две настройки:
— Теги выбираются из предопределенного списка (on/off)
— Задать список предопределенных тегов
— Дата
— Текстовый
— Предопределенный список
В свойства предопределенного списка
— Разрешить мультивыбор
— Макс. кол-во выбираемых тегов
Про выбор из списка подумаю, нужен множественный выбор