Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2010-02-11 16:23:44

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Добавить ID категорий новости в $CurrentHandler

Обнаружилась проблема в плагине BreadCrumbs. от тянет информацию о категориях, в которые включена новость из $CurrentHandler[params][category]
В случае, если несколько категорий, то движок формирует вот такую последовательность категория1-категория2-...-категорияN
Но, если категория имеет альтернативное имя другие-берега, то новость входящяя в нее и скажем, категорию2 будет иметь вид [category] => другие-берега-категория2. И анализировать на вхождение тире попросту невозможно: три тут категории или две или одна...

Может есть другое решение?

Вне форума

#2 2010-02-14 00:35:44

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Добавить ID категорий новости в $CurrentHandler

UP :)

Вне форума

#3 2010-02-17 01:43:47

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Добавить ID категорий новости в $CurrentHandler

В $SYSTEM_FLAGS кстати есть такой элемент, как [currentCategory.id] => 1 Только жаль, что он отображает не все категории, к которым добавлена новость...

Вне форума

#4 2010-02-18 00:53:14

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Добавить ID категорий новости в $CurrentHandler

В $CurrentHandler информацию закидывает обработчик ЧПУ. И он не понимает где категория, а где что-то ещё.
Самый правильный способ - получать данные из самой новости из SQL таблицы.

Вне форума

#5 2010-02-21 18:54:53

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Добавить ID категорий новости в $CurrentHandler

Посмотри пожалуйста код плагина http://ngcms.ru/forum/viewtopic.php?id=844

Сейчас сделано так:

add_act('index', 'breadcrumbs');
add_act('news_full', 'breadcrumbs');

И функция function breadcrumbs() { .. }

Чтобы получить доступ к массиву $SQLNews я так понимаю надо создать экземпляр класса NewsFilter  и через функцию ShowNews я уже буду иметь доступ к нужному массиву.

Я сейчас добавил в самый конец (на Денвере)

class breadcrumdsNewsFilter extends NewsFilter {
    function showNews($newsID, $SQLnews, &$tvars, $mode = array()) {
	global $mysql, $config, $tpl, $catz, $catmap, $CurrentHandler;
	print_r($SQLnews);
}
}
register_filter('news', 'breadcrumds', new breadcrumdsNewsFilter);

Вроде все хорошо, то есть function breadcrumbs() { .. } занимается выводом путей везде, кроме полной новости а фильтр выводит полный путь только в полной новости  основываясь на $SQLnews['catid']

Работает как надо, но нормально вообще так делать? :)

Отредактировано Wolverine (2010-02-21 22:14:52)

Вне форума

#6 2010-02-21 23:25:59

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Добавить ID категорий новости в $CurrentHandler

Wolverine, совершенно нормально, новостные фильтры для этого и предназначены.

Вне форума

#7 2010-02-22 11:54:52

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Добавить ID категорий новости в $CurrentHandler

Отлично! Тогда вопрос снят

Вне форума

#8 2011-10-09 17:24:13

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Добавить ID категорий новости в $CurrentHandler

Эту информацию теперь можно получить из $SYSTEM_FLAGS['news']['db.categories']

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.014 сек, 7 запросов выполнено - Использовано памяти: 539.39 Кбайт (Пик: 560.39 Кбайт) ]