[решено] показать блок только в article

Главные вкладки

Аватар пользователя EDark EDark 28 июля 2012 в 14:37

подскажите как правильно прописать если выбрано если PHP код возращает TRUE
пытаюсь что-то вроде этого

<?php if (arg(0) == 'article') {} ?>

но не работает

Комментарии

Аватар пользователя EDark EDark 28 июля 2012 в 14:46

хотя стоп, отображается только на странице article... а нужно чтобы и внутри статей во всем модуле article короче

Аватар пользователя EDark EDark 28 июля 2012 в 14:56

а я так щас и пытался.. но уменя есть категории...

вот и думаю как теперь

категория1
категория2
...

попробовал их спрятать в категорию
только теперь в блоке с категориями показывается только эта категория...

не знаю как вывести подкатегории в блоке...

вообще недавно с друпалом..

Аватар пользователя EDark EDark 28 июля 2012 в 15:01

нажал разворачивать пункты в настройках таксономии
получилось так

заголовок Категории

Категории
-кат1
-кат2

но вот ссылка Категории как бы не нужна да и почему-то пустая она...

как быть то?

Аватар пользователя graker graker 28 июля 2012 в 15:02

EDark wrote:
как быть то?

Для начала - не мешать в кучу все подряд вопросы.
Ну и поиском воспользоваться не повредит.

Аватар пользователя EDark EDark 28 июля 2012 в 15:05

тык пользуюсь)

проблема одна

статьи подразделены категориями

категория1
категория2

и поэтому в этих категориях блок не отображается... получается ссылка вида сайт.ру/категория1
и тд

не прописывать же все категории в отображения блока?

Аватар пользователя graker graker 28 июля 2012 в 15:20

А, да, в шестерке же нету этой настройки.

EDark wrote:
if($node->type=='article'){
return TRUE;
}

так не пашет...


Наверно надо сначала ноду загрузить, прежде чем тип проверять.

Аватар пользователя EDark EDark 28 июля 2012 в 15:47

хм по типу не лучше получается...
короче не знаю как сделать...

в категориях тип получается другой чтоли.. как его узнать?

Аватар пользователя EDark EDark 28 июля 2012 в 15:49

да я уже нашел

<?php
$nodeType = "article";

// valid node id in view mode
if ( arg(0) == 'node' AND is_numeric(arg(1)) AND arg(2) == FALSE ) {

$node = node_load(arg(1)); // cached

if ($node->type == $nodeType) {
return true;
}
}

return FALSE;
?>

вот это показывает только в самих статьях, я и не подумал... зачем мучился..

Аватар пользователя EDark EDark 28 июля 2012 в 16:03

нашел

<?php
if ( arg(0) == 'taxonomy'
&& is_numeric( arg(2) )
&& taxonomy_get_term( arg(2) )->vid == 5)
// 5 надо заменить на id словаря, для которого должен выводится блок
// словарь != термин
return true;
return false;
?>

Аватар пользователя EDark EDark 28 июля 2012 в 16:08

сделал так

<?php
$node = node_load(arg(1));
if ($node->type == 'article') {return TRUE;}
elseif (arg(0) == 'article') {return TRUE;}
elseif ( arg(0) == 'taxonomy'
&& is_numeric( arg(2) )
&& taxonomy_get_term( arg(2) )->vid == 3)
// 5 надо заменить на id словаря, для которого должен выводится блок
// словарь != термин
return true;
return false;
?>

а при пагинации будет показываться блок то?
или arg(0) == 'article' достаточно?

Аватар пользователя EDark EDark 28 июля 2012 в 16:30

graker, спасибо

тогда проблема решена

блок выводится на странице article и пагинации
выводится в статье
выводится в словаре 3 и пагинации