Вы не зашли.
Здравствуйте!
Я добавил в ADS manager переменную {plugin_lastnews} и размещение переменной {ads1} - !Морда.
Все работает, вот только не везде: например, на страницах /profile.html, /register/, /login/ вместо lastnews выводится просто переменная {plugin_lastnews}
Возможно ли как-то сделать чтобы на этих страницах выводились последние новости или чтобы вместо {plugin_lastnews} не выводилось вообще ничего?
Не в сети
Это не правильно.
Нужно в lastnews.php писать примерно так:
if ($action||$category) {
$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 5, 'overrideTemplatePath' => tpl_site.'plugins/lastnews/skin1'));
} else {
$template['vars']['plugin_lastnews'] = '';
}
Что означают некоторые параметры можно прочитать здесь.
Не в сети
Это не правильно.
Не понял, что именно не правильно?
мне нужно выводить {plugin_lastnews} на всех страницах, кроме главной. я делаю это через ADS manage.
может что-то дописать в lastnews.php, чтобы переменная (например {plugin_lastnews_3}) выводилась везде кроме главной не через ADS manage?
Нужно в lastnews.php писать примерно так:
у меня в lastnews.php сейчас так:
$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
$template['vars']['plugin_lastnews_2'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength'), 'overrideTemplatePath' => root . '/plugins/lastnews/tpl/skin1/'));
Не в сети
1. Не правильно = не правильно выводить lastnews через ads.
2. Написано же как делать:
if ($action||$category) {
$template['vars']['plugin_lastnews_3'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
} else {
$template['vars']['plugin_lastnews_3'] = '';
}
Не в сети
Может я туплю.. сорри
Делаю в lastnews.php так:
function plugin_lastnews(){
global $template;
$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
$template['vars']['plugin_lastnews_2'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength'), 'overrideTemplatePath' => root . '/plugins/lastnews/tpl/skin1/'));
if ($action||$category) {
$template['vars']['plugin_lastnews_3'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
} else {
$template['vars']['plugin_lastnews_3'] = '';
}
}
В main.tpl пишу это: {plugin_lastnews_3} - в итоге ничего нигде не выводится.
Не в сети
а зачем else писать? попробуй вот без else
function plugin_lastnews(){
global $template;
$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
$template['vars']['plugin_lastnews_2'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength'), 'overrideTemplatePath' => root . '/plugins/lastnews/tpl/skin1/'));
if ($action||$category) {
$template['vars']['plugin_lastnews_3'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
}
}
Не в сети
Переменные §action и §category больше не используются по этому условный оператор всегда true... Сейчас за место них другие переменные...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Вместо $category я использовал $CurrentHandler['params']['category']. предварительно его надо объявить в global
Про $action не знаю.
Не в сети
§CurrentHandler объяви как global. Он является массивом и содержит в себе множество параметров и через print_r §CurrentHandler; ты получишь нужны для тебя переменные...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
при print_r ($CurrentHandler); выводится:
Array
(
[pluginName] => uprofile
[handlerName] => edit
[params] => Array
(
[0] => /profile.html
)
)
в категориях:
Array
(
[pluginName] => news
[handlerName] => by.category
[params] => Array
(
[0] => /files.html
[category] => files
)
)
не пойму, что мне из этого извлечь...
Не в сети
alexz15 я выше написал же if($CurrentHandler['params']['category'])
работает
Всем спасибо!
я сделал так:
if($CurrentHandler['params']['category']||$CurrentHandler['params']['month']){
$template['vars']['plugin_lastnews_3'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
} else {
$template['vars']['plugin_lastnews_3'] = '';
}
еще один момент: хочу написать типа !$CurrentHandler['params']['main'] (везде кроме главной) но так новости выводятся на всех страницах. какой переменной определяется главная страница?
Изменено alexz15 (2010-02-20 18:38:32)
Не в сети
$CurrentHandler['params']['0'] на главной странице имеет значение /, а на других страницах значения другие вроде.
Можно проверять так:
if($CurrentHandler['params']['0'] == '/') {то я на главной} else {в другом месте}
Изменено Wolverine (2010-02-20 19:16:26)
Не в сети
$CurrentHandler['params']['0'] на главной странице имеет значение /, а на других страницах значения другие вроде.
Можно проверять так:
if($CurrentHandler['params']['0'] == '/') {то я на главной} else {в другом месте}
Угумс, все что хотел - работает! Спасибо!
alexz15, я попробовал у себя все виводится без всяких изменений
что попробовал?
Не в сети