Категории 0.1.1 (обновление)

Плагин категорий обновлен. Обновление затронуло только javascript и использование json при ajax подгрузке. Так же теперь совместим с LS 0.5 и jquery шаблонами.


Плагин в каталоге.

Для желающих отблагодарить, как обычно реквизиты.

wm
R111527346489
Z370370411130
E104398793342
U233436054036

яша
41001382110646

50 комментариев

avatar
баг при добавлении категории через шаблон developer jquery — урл категории генерится из заголовка, а прописываемый не воспринимается.

Так же было бы хорошо сделать урлы подкатегорий типа topic/category/subcategory а не topic/subcategory
avatar
баг при добавлении к
спс, поправил, перезалил
Так же было бы хорошо сделать урлы подкатегорий типа topic/category/subcategory а не topic/subcategory
может быть позже добавлю подобные урлы опционально
avatar
Дико извиняюсь, но как отредактировать список категорий? :) Знаю, что вопрос довольно глуп, но, к сожалению, не смог его решить.
avatar
нажать на нужную категорию в дереве в сайдбаре
avatar
Ээээ… Плагин установил в админке, блок с категориями в сайдбаре пуст. Я, наверное, что-то забыл сделать? :) Еще раз извините за потенциально странный вопрос.
avatar
тогда вполне вероятно что их нужно для начала добавить, а потом уже редактировать
avatar
:) Извините за мою некоторую (эээээ...) чайниковость, но не подскажете, куда нажимать, чтобы ее создать?
avatar
httр://ваш_сайт/settings/category/
avatar
при условии что пользователь админ
avatar
Спасибо огромное за терпение и исчерпывающие ответы )
avatar
Кажется, словил баг: при переходе в «админку категорий» вот такая надпись.
Notice: Undefined offset: 1 in /var/www/******/engine/classes/ActionPlugin.class.php(62): runtime-created function on line 1 Notice: Undefined offset: 1 in /var/www/******/engine/classes/ActionPlugin.class.php(62): runtime-created function on line 1
При создании категории ошибка «Error Please Try Again Later» (красное уведомление в правом верхнем углу). При этом создается максимум одна категория (несмотря на ошибку). При этом создается категория с URL, назначенным автоматически (прописанный вручную URL не используется).

Livestreet 0.4.2, плагины.

aceAdminPanel
aceMySearch
Blogs Autoconnect Plugin
Category
Gravatar
Social Bookmarks Plugin
LsPage
No Tags
Static page
Really new topics
SEO
Sitemap
avatar
удалите в плагине не нужные вам шаблоны, например если используете шаблон new, то оставьте его и удалите все остальные, если шаблон которого нет по умолчанию то оставьте только default.
avatar
Почти все заработало, спасибо большое. Единственно, осталась небольшая мелочь — при клике на категорию в сайдбаре ошибка 404. Опять же, он самопроизвольно назначает URL категории, игнорируя написанное. Спасибо Вам большое :) С меня донейт, в любом случае.
avatar
Опять же, он самопроизвольно назначает URL категории, игнорируя написанное.
уже ответил livestreet.ru/blog/FreeModules/8397.html#comment124433
при клике на категорию в сайдбаре ошибка 404
возможно конфликтует с каким либо плагином, разрабатывался и тестировался на чистой LS, попробуйте отключить все и включать попорядку, если найдете с чем именно конфликтует — постараюсь быстро поправить.
avatar
Спасибо большое. Перезалил новый плагин, все отключил, даже админку, попробовал включить категории на «чистом» Лайвстрит. Проблема переназначения URL решилась, но 404 ошибка осталась. Думаю, что, возможно, проблема где-то на моей стороне. Буду продолжать копать.

Еще раз спасибо Вам )
avatar
кеш сбрасывали?
avatar
Да, конечно, сбросил кэш всего, до чего руки дотянулись. Возможно, дело в том, что у меня nginx+php-fpm?
avatar
возможно у Вас чтото в настройках сервера и отсутствуетс переменная $_SERVER['REDIRECT_URL'], попробуйте в
\plugins\category\classes\hooks\HookCategory.class.php изменить
$aUrl = explode('/', trim(@$_SERVER['REDIRECT_URL'], '/'));
на
$aUrl = explode('/', trim(@$_SERVER['REQUEST_URI'], '/'));
85 строчка
avatar
Спасибо большое, увы, не помогло. При попытке добавить пост в категорию следующая ошибка.
Fatal error: Call to a member function getCountTarget() on a non-object in /var/www/******/plugins/category/classes/hooks/HookCategory.class.php on line 115

В любом случае, спасибо. Я на выходных обещанный донэйт Вам обязательно перечислю.
avatar
Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: Category' in /home/p42249/www/vneftekamske.com/engine/modules/viewer/Viewer.class.php:576 Stack trace: #0 /home/p42249/www/vneftekamske.com/engine/modules/viewer/Viewer.class.php(492): ModuleViewer->DefineTypeBlock('Category', '/home/p42249/ww...') #1 /home/p42249/www/vneftekamske.com/engine/modules/viewer/Viewer.class.php(686): ModuleViewer->AddBlock('right', 'Category', Array, 150) #2 /home/p42249/www/vneftekamske.com/engine/modules/viewer/Viewer.class.php(220): ModuleViewer->BuildBlocks() #3 /home/p42249/www/vneftekamske.com/engine/classes/Engine.class.php(262): ModuleViewer->Init() #4 /home/p42249/www/vneftekamske.com/engine/classes/Engine.class.php(319): Engine->InitModule(Object(ModuleViewer)) #5 /home/p42249/www/vneftekamske.com/engine/classes/Engine.class.php(546): Engine->LoadModule('ModuleViewer', true) #6 /home/p42249/www/vneftekamske.com/engine/classes/Engine.class.php(466): Engine->GetModule('Viewer_Assign') #7 /home/ in /home/p42249/www/vneftekamske.com/engine/modules/viewer/Viewer.class.php on line 576


Отключал все модули все равно эта ошибка при активации модуля категории!
avatar
avatar
спасибо
avatar
Плагин установился отлично, форма добавления категории появилась. При добавлении, при нажатии кнопки — ничего не происходит. LS 0.5
avatar
Шаблон «Street Spirit» — на нем не работает, на остальных все хорошо
avatar
Та же фигня. Приходится в new создавать категории и менять шаблон
avatar
Пробовал на шаблонах Ls 0.5 и 0.5.1 (4 стандартные и litestreet)
На всех категории добавляются, можно редактировать.
При нажатии на ссылку на категорию- такой страницы не существует!!!
Исправлял:
-переименововал block.category- block.Category
-менял на ['REQUEST_URI']
-удалял «лишние шаблоны»
Как исправить?
avatar
смотрите в \plugins\category\classes\hooks\HookCategory.class.php что у Вас в переменной $_SERVER и поддставляйте нужную переменную
avatar
Пожалуйста «раскройте» ответ, со своей стороны все возможные варианты перепробовал.
avatar
Идентичная проблема, нашли решение?
avatar
нет.
avatar
-переименововал block.category- block.Category


В папке текущего шаблона..., а не в дефолтном…
avatar
Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: Category' in /var/www/html/engine/modules/viewer/Viewer.class.php:576 Stack trace: #0 /var/www/html/engine/modules/viewer/Viewer.class.php(492): ModuleViewer->DefineTypeBlock('Category', '/var/www/html/p...') #1 /var/www/html/engine/modules/viewer/Viewer.class.php(686): ModuleViewer->AddBlock('right', 'Category', Array, 150) #2 /var/www/html/engine/modules/viewer/Viewer.class.php(220): ModuleViewer->BuildBlocks() #3 /var/www/html/engine/classes/Engine.class.php(262): ModuleViewer->Init() #4 /var/www/html/engine/classes/Engine.class.php(319): Engine->InitModule(Object(ModuleViewer)) #5 /var/www/html/engine/classes/Engine.class.php(550): Engine->LoadModule('ModuleViewer', true) #6 /var/www/html/engine/classes/Engine.class.php(466): Engine->GetModule('Viewer_Assign') #7 /var/www/html/engine/classes/Module.class.php(49): Engine->_CallModule('Viewer_Assign', Array) #8 [internal function]: Module->__call('Viewer_Assign', Array) #9 /var/ in /var/www/html/engine/modules/viewer/Viewer.class.php on line 576 


0.5 после активации сайт падает.
avatar
упс, нашел ответ на проблему
avatar
При активации плагина:
ybex.com/d/8qaeq3uz1x0ldkdepqgarxhaomnj7lj0ysc6zzll.html
Делал папку с для шаблона, пробовал на дифолтном шаблоне, переименовывал файл из block.category.tpl в block.Category.tpl и всеравно эта ошибка. Есть варианты решения?
  • GR0M
  • 0
avatar
На скриншоте видно что буква первая буква в слове Category не латинская.
В добавлении блока.
комментарий был удален
avatar
Написал пару постов, прикрепил их к категориям, удалил. Счетчик топиков категории не обнулился. Кеш чистил, не помогло. У других есть такое или у меня какие-то проблемы с руками?:)
avatar
Просто мысли в слух…
А почему сначала выбор Категории, а потом блога? Вообще было бы круто если при выборе Блога можно выбрать только определенные Категории доступные для этого Блога.
Блог1: категория1.1\1.2\1.3; Блог2: категория2.1\2.2. и т.д.
avatar
А почему сначала выбор Категории, а потом блога?
Потому что, хук form_add_topic_topic_begin находится в начале формы.
Вообще было бы круто если ...
Так что мешает, плагин бесплатный, в том числе и для доработки «под себя»
avatar
Это уже будут не категории, а подкатегории. Т.е сам блог будет являтся основной категорией, ну а дальше подкатегории.
avatar
следующий патч исправляет: а) 404 при клике на категорию при использовании fastcgi; б) неудаление реляций при удалении категории в) неуменьшение счетчика категории при удалении топика г) невывод блока категорий

diff -ur category/classes/actions/ActionTopic.class.php category-fixed/classes/actions/ActionTopic.class.php
--- category/classes/actions/ActionTopic.class.php	2011-09-19 09:29:42.000000000 +0400
+++ category-fixed/classes/actions/ActionTopic.class.php	2012-01-19 15:19:49.000000000 +0300
@@ -33,7 +33,6 @@
 
     protected function EventCategory()
     {
-
 	$sCategoryUrl = $this->sCurrentEvent;
 	if (!($oCategory = $this->PluginCategory_Category_GetCategoryByUrl($sCategoryUrl))) {
 	    return Router::Action('error');
@@ -62,7 +61,7 @@
     public function AddBlock()
     {
 	$this->Viewer_ClearBlocks('right');
-	$this->Viewer_AddBlock('right', 'Category', array('plugin' => 'category'), 100);
+	$this->Viewer_AddBlock('right', 'category', array('plugin' => 'category'), 100);
     }
 
     public function EventShutdown()
diff -ur category/classes/hooks/HookCategory.class.php category-fixed/classes/hooks/HookCategory.class.php
--- category/classes/hooks/HookCategory.class.php	2011-09-19 09:29:56.000000000 +0400
+++ category-fixed/classes/hooks/HookCategory.class.php	2012-01-19 16:01:23.000000000 +0300
@@ -27,6 +27,7 @@
 	$this->AddHook('template_content_begin', 'CategoryBc');
 
 	$this->AddHook('topic_add_after', 'TopicAddAfter');
+	$this->AddHook('topic_delete_before', 'TopicDeleteBefore');
 
 	$this->AddHook('topic_edit_show', 'TopicEditShow');
 
@@ -76,7 +77,7 @@
 
     public function GetCategory()
     {
-	$aUrl = explode('/', trim(@$_SERVER['REDIRECT_URL'], '/'));
+	$aUrl = explode('/', trim(@$_SERVER['REQUEST_URI'], '/'));
 	$sAction = empty($aUrl['0']) ? 'error' : $aUrl['0'];
 	$sEvent = empty($aUrl['1']) ? 'error' : $aUrl['1'];
 
@@ -150,6 +151,20 @@
 	}
     }
 
+    public function TopicDeleteBefore($aVar)
+    {
+	$oTopic = $aVar['oTopic'];
+	if ($oRelation = $this->PluginCategory_Category_GetRelationByTargetIdByTargetType($oTopic->getId(), Router::GetAction())) {
+            $oCategory = $this->PluginCategory_Category_GetCategoryById($oRelation->getCategoryId());
+            if ($oCategory->getCountTarget() > 0) {
+                $oCategory->setCountTarget($oCategory->getCountTarget() - 1);
+                $this->PluginCategory_Category_EditCategory($oCategory);
+            }
+            $this->PluginCategory_Category_DellRelation($oRelation);
+            return;
+	}
+    }
+
     public function TopicEditShow($aVar)
     {
 	$oTopic = $aVar['oTopic'];
diff -ur category/classes/modules/category/mapper/Category.mapper.class.php category-fixed/classes/modules/category/mapper/Category.mapper.class.php
--- category/classes/modules/category/mapper/Category.mapper.class.php	2011-09-19 09:30:10.000000000 +0400
+++ category-fixed/classes/modules/category/mapper/Category.mapper.class.php	2012-01-19 15:50:24.000000000 +0300
@@ -133,7 +133,13 @@
 				category_id = ?d
 		";
 	if ($this->oDb->query($sql, $sCategoryId)) {
-	    return true;
+            $sql = "DELETE FROM " . Config::Get('plugin.category.table.category_relation') . "
+                            WHERE
+                                    category_id = ?d
+                    ";
+            if ($this->oDb->query($sql, $sCategoryId)) {
+                return true;
+            }
 	}
 	return false;
     }
diff -ur category/config/config.php category-fixed/config/config.php
--- category/config/config.php	2011-09-19 09:30:22.000000000 +0400
+++ category-fixed/config/config.php	2012-01-17 22:26:02.000000000 +0300
@@ -39,7 +39,7 @@
     'blocks' => array(
 	'right' => array(
 	    'stream' => array('priority' => 100),
-	    'Category' => array('params' => array('plugin' => 'category'), 'priority' => 150),
+	    'category' => array('params' => array('plugin' => 'category'), 'priority' => 150),
 	    'tags' => array('priority' => 50),
 	    'blogs' => array('params' => array(), 'priority' => 1),
 	)
avatar
куда именно вставить код?
avatar
это не код, это заплатка в стандартном формате unified diff, которую можно применить при помощи GNU Patch: gnuwin32.sourceforge.net/packages/patch.htm

или руками
avatar
Ок. Проверим
avatar
После правок, все-равно не работает ((( На локале все отлично, а на серваке после перехода в категорию, вываливается 404 =(
avatar
Категории можно добавлять только при добавлении топика? А как же в фотосете, ссылке, опросе?
Попробовал добавить {hook run='form_add_topic_topic_begin'} в файл ..\actions\ActionPhotoset\add.tpl форма выбора категории появилась, но категории не подтягиваются (в выпадающем меню пусто).
Подскажите пожалуйста как это исправить?
avatar
У меня проблема — не добавляется категория. Все ввожу, а по клике на кнопку добавить ничего не происходит… Как это можно исправить?
avatar
идентичная проблема(минусуйте)
Кто подскажет, как очерёдность вывода категорий настроить(создал категории, но хочу поднять выше/опустить их в блоке)
avatar
кто нибудь ошибку plugins/category/classes/hooks/HookCategory.class.php on line 115 смог исправить?
у меня когда новость редактируешь, и жмёшь применить, она вылазит
avatar
вот эта строка(115-116-117)
if ($oCategoryOld->getCountTarget() > 0) {
$oCategoryOld->setCountTarget($oCategoryOld->getCountTarget() — 1);
$this->PluginCategory_Category_EditCategory($oCategoryOld);
я её просто удаляю и всё норм, но не знаю, можно так или нет.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.