Плагин “Категории”

Все просто — очередной плагин для создания категорий, но с одной особенностью. Плагин не привязывается жестко только к базовому функционалу движка, что позволяет создавать различные типы категорий, и с его помощью можно быстро организовывать категоризацию в плагинах. Как пример — мне понадобилось менее 30 минут чтобы написать обработчик для прикрепления и вывода категорий к плагину компании, правда в него пришлось добавить пару хуков, но это уже мелочи. Или например можно достаточно быстро организовать форум не внося существенных изменений (кроме шаблона и допиливания функционала топиков под форум) в код плагина, пока форум не пробовал но по тому как работает плагин — это думаю сделать можно быстро, без больших затрат по времени.

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

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

Качать тут.

А для тех кто пожелает отблагодарить — реквизиты:
Z387210433696
R378645698316
яша 41001382110646

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

PS :: Пример адаптации категорий к другим плагинам.

UPD :: обновление для v0.5

73 комментария

avatar
Отлично.
avatar
Как всегда замечательный плагин совершенно бесплатно!
avatar
На демке вёрстка поехала.
avatar
из-за плагина Компании, тоже с таким сталкивался
avatar
как раз собирался писать такой плагин :) спасибо :)
avatar
блин, пока модерация пройдет, я уже свой напишу :)
avatar
ну так пишите, что мешает?
avatar
Энтропия вселенной не вырастет от написания нового велосипеда.
avatar
Не надо выпендриваться своими возможностями.
avatar
Чего уж мелочится.
avatar
*извиняюсь, ctrl зажал*
Чего уж мелочится:
я например могу написать свой LS, но только Энтропия вселенной не вырастет от написания нового велосипеда.
avatar
замысел хороший, вот бы сделать форум на основе данного плагина, я бы купил, если до 100 баксов будет, а то поставил Vanilla 2 и че-то как-то не очень что разные профили, разные личные сообщения и подобные штуки.
avatar
avatar
добавил архив вне каталога
avatar
Когда заходишь в настройки категорий выдает ошибку:
Warning: array_search() expects parameter 2 to be array, null given in сайт\plugins\category\classes\actions\ActionSettings.class.php on line 43
avatar
В файле plugins/category/classes/actions/ActionSettings.class.php в строке 43 делаешь изменения.
Было:
if (!$this->oUserCurrent and !$this->oUserCurrent->isAdministrator() or !array_search($this->oUserCurrent->getLogin(),$this->aUser)) return Router::Action('error');

стало:
if (!$this->oUserCurrent and (!$this->oUserCurrent->isAdministrator() or !array_search($this->oUserCurrent->getLogin(),$this->aUser))) return Router::Action('error');


Таким образом у меня ошибка пропала.
avatar
Дальше к сожалению добавить категорию не получилось. «Ошибка. Нет доступа»
avatar
Чушь какая-то, вы условие изменили не правильно.
Можно убрать эррей_серч — тогда настройки будут доступны только администратору.
avatar
Я не кодер, действую интуитивно.
Проделал тоже самое, со строками 64 и 97.

Также в plugins/category/classes/hooks/HookCategory.class.php в строке 33

if ($oUserCurrent=$this->User_GetUserCurrent() and ($oUserCurrent->isAdministrator() or array_search($oUserCurrent->getLogin(),$aUser)))

заменил на:
if ($oUserCurrent=$this->User_GetUserCurrent() and $oUserCurrent->isAdministrator())

Получил достаточно работоспособную вещь, в которой можно добавлять и удалять категории
avatar
Сделал как вы, но теперь выходит ошибка «Название категории должно быть от 2 до 200 символов», хотя название 5 символов. Есть версия, что не так?
avatar
добавьте в конфиг плагина:
$config['user'] = array('user_login');

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

Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: Category' in /var/www/djey/data/www/testls.ru/engine/modules/viewer/Viewer.class.php:506 Stack trace: #0 /var/www/djey/data/www/testls.ru/engine/modules/viewer/Viewer.class.php(428): ModuleViewer->DefineTypeBlock('Category', '/var/www/djey/d...') #1 /var/www/djey/data/www/testls.ru/engine/modules/viewer/Viewer.class.php(616): ModuleViewer->AddBlock('right', 'Category', Array, 150) #2 /var/www/djey/data/www/testls.ru/engine/modules/viewer/Viewer.class.php(204): ModuleViewer->BuildBlocks() #3 /var/www/djey/data/www/testls.ru/engine/classes/Engine.class.php(164): ModuleViewer->Init() #4 /var/www/djey/data/www/testls.ru/engine/classes/Engine.class.php(394): Engine->LoadModule('ModuleViewer', true) #5 /var/www/djey/data/www/testls.ru/engine/classes/Engine.class.php(326): Engine->GetModule('Viewer_Assign') #6 /var/www/djey/data/www/testls.ru/engine/classes/Module.class.php(49): Engine->_CallModule('Viewer_Assign', Array) #7 /var/www/dje in /var/www/djey/data/www/testls.ru/engine/modules/viewer/Viewer.class.php on line 506

Открываем /engine/modules/viewer/Viewer.class.php видим условие:

} else {
/**
* Считаем что тип не определен
*/
throw new Exception('Can not find the block`s template: '.$sName);
return 'undefined';
}
}
коментируем — избавляемся от ошибки.
Далее переходим в настройки и получаем все туже описаную выше ошибку:
Warning: array_search() expects parameter 2 to be array, null given in /var/www/djey/data/www/testls.ru/plugins/category/classes/actions/ActionSettings.class.php on line 43

Вот так и не заработало. Есть конечно вероятность, что скрипт писался под определенные транковые версии ядра, но как это узнать?
avatar
Can not find the block`s template: Category
При чем тут LS? Если это у плагина нет шаблонов для блока.
avatar
Убираем or !array_search($this->oUserCurrent->getLogin(),$this->aUser)
Все вроде запускается но при попытке соханить категорию вылетает ошибка: нет доступа

шибка

Нет доступа
avatar
netlank, в структуре таблицы категорий сделайте индекс по полю category_url, так как по нему есть выборка.
avatar
Еще, пока помню, почему-то в PluginCategory_ModuleCategory_EntityCategory метод getCountTarget() возвращает то что в поле category_count_sub в таблице, вместо category_count_target
avatar
наврал, налажал в коде :)
avatar
Я бы отблагодарил, но плагин у меня не пашет на последней версии движка… Куда копать?

У меня стоит шаблон social (на других шаблонах ругается, но уже на другое) выдает на странице с топиками след. ошибку:

Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: Category' in .../engine/modules/viewer/Viewer.class.php:506 Stack trace: #0 .../engine/modules/viewer/Viewer.class.php(428): ModuleViewer->DefineTypeBlock('Category', '/home/users1/s/...') #1 .../engine/modules/viewer/Viewer.class.php(616): ModuleViewer->AddBlock('right', 'Category', Array, 150) #2 .../engine/modules/viewer/Viewer.class.php(204): ModuleViewer->BuildBlocks() #3 .../engine/classes/Engine.class.php(164): ModuleViewer->Init() #4 .../engine/classes/Engine.class.php(394): Engine->LoadModule('ModuleViewer', true) #5 .../engine/classes/Engine.class.php(326): Engine->GetModule('Viewer_Assign') #6 .../engine/classes/Module.class.php(49): Engine->_CallModule('Viewer_Assign' in .../engine/modules/viewer/Viewer.class.php on line 506

Нету Шаблона Category, выше описана таже ситуация у кого-то. Вопрос если его нету в плагине, тогда откуда его брать?

Я понимаю, что он бесплатный… Но всеже где шаблон то? Да и заплатить я итак готов был лижбы работал…
  • mf7
  • 0
avatar
перименуйте \plugins\category\templates\skin\default\block.category.tpl в x:\home\catalogls\www\plugins\category\templates\skin\default\block.Category.tpl
avatar
Заработало. Спасибо.

Какая сумма необходима для мотивации по адаптации плагина категорий в рейтинге по топикам?

На страницах:

/top/topic/
/top/topic/7d/
/top/topic/24h/
/top/topic/30d/
/top/topic/all/

Необходимо выводить блок категорий (ваш плагин категорий), который будет выводится на странице рейтинга к топикам.

Суть работы плагина, я перехожу к примеру на страницу

/top/topic/all/

Справа есть список категорий и при выборе определенной категории

/top/topic/all/mycategory/

Выводится рейтинг всех топиков для данной категории.
avatar
Какая сумма необходима для мотивации по адаптации плагина категорий в рейтинге по топикам?
вот как понимать эту фразу?

«Сколько Вам пожертвовать, чтобы Вы доработали плагин под мои нужды?»…

Если хотите отблагодарить — отблагодарите, но не спрашивайте сколько, это лично ваша желание какую сумму отправить.
avatar
Предложение Выше можно воспринимать по разному. Я не писал слово «пожертвовать» — это не очень красиво звучит в данном контексте и имеет другой смысл. В качестве благодарности за плагин скинул денюжку, хотя не люблю этих вещей… По крайней мере лично Я не люблю, когда мне говорят спасибо, а потом дают деньги.

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

Спрашивал следующее:
Какая необходима сумма для того, чтобы у Вас появилось желание доработать данный плагин для рейтинга?
avatar
отправил в личку
комментарий был удален
avatar
Все голову «переполомал», пока не понял что нужно в файле block.category.tpl в слове Category букву «с» заменить «С»
avatar
вообще не пнял. где переминовать?
avatar
В имени файла.
avatar
Отличный плагин! Спасибо за реализацию. Есть на свете разработчики, которые стараются делать для людей!
avatar
Никто не делал чтобы подкатегории списком выносились?
avatar
Извините, под спойлером
avatar
Ты имеешь ввиду чтобы подкатегории открывались при открытии родительской категории?
avatar
имел ввиду показывались, а не открывались
avatar
да, именно так, чтобы список категорий не был столь громоздким
avatar
Подскажите, пожалуйста, как настраивать плагин — добавлять категории и т.п.

Плагин установил — настройки не нашел(
avatar
настройки профиля-категории
avatar
Спасибо, нашел. Хитро спрятано)
avatar
поделитесь пожалуйста)
avatar
в верхнем правом углу сайта щёлкаем на Настройка профиля и там, в настройках профиля, появилась кнопка «Категории»
avatar
спасибо
avatar
вылезла та же ошибка что и в http://livestreet.ru/blog/FreeModules/7803.html#comment114371

поправил по рекомендациям crimean, за что огромное спасибо
avatar
рекомендация http://livestreet.ru/blog/FreeModules/7803.html#comment114446
почему-то не помогла, выводилась пустая страница

но я не кодер, может как-то не правильно вставил код в конфиг? вставлял просто в строку 21
avatar
в чём прикол минуса за этот коммент?
avatar
После удаления топика количество топиков в блоке категории не изменяется. т.е. он продолжает счет при этом количество топиков меньше
avatar
Ставлю на сайт плагин, на главной выдает
Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: Category' in /home/vhosts/fish-blogger.ru/httpdocs/engine/modules/viewer/Viewer.class.php:506 Stack trace: #0 /home/vhosts/fish-blogger.ru/httpdocs/engine/modules/viewer/Viewer.class.php(428): ModuleViewer->DefineTypeBlock('Category', '/home/vhosts/fi...') #1 /home/vhosts/fish-blogger.ru/httpdocs/engine/modules/viewer/Viewer.class.php(616): ModuleViewer->AddBlock('right', 'Category', Array, 150) #2 /home/vhosts/fish-blogger.ru/httpdocs/engine/modules/viewer/Viewer.class.php(204): ModuleViewer->BuildBlocks() #3 /home/vhosts/fish-blogger.ru/httpdocs/engine/classes/Engine.class.php(164): ModuleViewer->Init() #4 /home/vhosts/fish-blogger.ru/httpdocs/engine/classes/Engine.class.php(394): Engine->LoadModule('ModuleViewer', true) #5 /home/vhosts/fish-blogger.ru/httpdocs/engine/classes/Engine.class.php(326): Engine->GetModule('Viewer_Assign') #6 /home/vhosts/fish-blogger.ru/httpdocs/engine/classes/Module.class.php(49): Engine->_CallModule in /home/vhosts/fish-blogger.ru/httpdocs/engine/modules/viewer/Viewer.class.php on line 506
Пробовал ставить на денвер, все работает. Ставил те же плагины, что на сайте, тоже работает (на денвере)
В чем может быть проблема?
  • Mail
  • 0
avatar
avatar
Аа, спасибо. Ведь делал же на локальном сервере это, а сейчас забыл
avatar
JОх и Дебил…
перименуйте \plugins\category\templates\skin\default\block.category.tpl в x:\home\catalogls\www\plugins\category\templates\skin\default\block.Category.tpl

Что переименовывать умник? где? мне бля облазить все файлы?
avatar
вот тут переименуйте
\plugins\category\templates\skin\default\block.category.tpl

на
\plugins\category\templates\skin\default\block.<strong>C</strong>ategory.tpl

файл шаблона
был
block.category.tpl
стал
block.Category.tpl
avatar
Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: Category' in /home/j/jyvvi/iwoober.com/public_html/engine/modules/viewer/Viewer.class.php:576 Stack trace: #0 /home/j/jyvvi/iwoober.com/public_html/engine/modules/viewer/Viewer.class.php(492): ModuleViewer->DefineTypeBlock('Category', '/home/j/jyvvi/i...') #1 /home/j/jyvvi/iwoober.com/public_html/engine/modules/viewer/Viewer.class.php(688): ModuleViewer->AddBlock('right', 'Category', Array, 150) #2 /home/j/jyvvi/iwoober.com/public_html/engine/modules/viewer/Viewer.class.php(220): ModuleViewer->BuildBlocks() #3 /home/j/jyvvi/iwoober.com/public_html/engine/classes/Engine.class.php(262): ModuleViewer->Init() #4 /home/j/jyvvi/iwoober.com/public_html/engine/classes/Engine.class.php(319): Engine->InitModule(Object(ModuleViewer)) #5 /home/j/jyvvi/iwoober.com/public_html/engine/classes/Engine.class.php(546): Engine->LoadModule('ModuleViewer', true) #6 /home/j/jyvvi/iwoober.com/public_html/engine/classes/Engine.class.php(466): Engine->GetM in /home/j/jyvvi/iwoober.com/public_html/engine/modules/viewer/Viewer.class.php on line 576


И хоть треснись. Менял уже Буковку с на С Большую.… нифига.
avatar
как вариант в plugins/category/classes/actions/ActionTopic.class.php
public function AddBlock()
{
$this->Viewer_ClearBlocks('right');
$this->Viewer_AddBlock('right', ategory', array('plugin' => 'category'), 100);
}
avatar
А будет ли мануал по категоризации не топиков, а блогов? Имхо — категоризация блогов куда более востребованна, чем категоризация топиков.
Одно дело пример на плагинах, а другое дело — функционал самого движка.
  • GR0M
  • 0
avatar
присоединяюсь к вопросу: категоризировать топики — слишком частный случай, гораздо более чаще необходимо разбить на категории именно блоги.
avatar
Не помогло изменение буквы, что делать?
avatar
Если ошибка
Can not find the block`s template: Category
то дело в букве (латинская C и русская С на одной кнопке).
Плагин устанавливаете на рабочем сайте? или на локальном?
avatar
в имени файла шаблона block.category.tpl все буквы строчные (маленькие)
поэтому и имя блока должно быть category
avatar
а как вообще интегрировать плагин в шаблон Simple?
создается категории только в стандартных шаблонах.
Плагин в виде дерева можно установить на шаб. Simple?
avatar
т.е. имею ввиду:
кнопка добавить категорию не нажимается через амдинку(если шаблон Simple, на других работает)
avatar
Вопрос — как добавить категории к фотосетам, опросам, етц?
avatar
Доработать плагин.
avatar
Аврайт, займемся
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.