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

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

rss

Вы не зашли.

Объявление

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

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

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

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

Неактивен

 

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

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

UP smile

Неактивен

 

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

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

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

Неактивен

 

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

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

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

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

Неактивен

 

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   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']

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

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

Неактивен

 

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

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

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

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

Неактивен

 

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

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

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

Неактивен

 

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

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

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

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.012 seconds, 14 queries executed ]