node->type вывести html код по типу содержимому (РЕШЕНО)

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

Аватар пользователя dastan dastan 13 декабря 2011 в 16:30

Есть ли возможность в page.tpl.php выводить какой-нить html код в зависимости от типа материала? Думаю конструкция должна быть типо if node->type==product {"действие"}, иначе то-то то. Но дело в том что так не работает, как правильно выводить?

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 13 декабря 2011 в 16:45

Всё верно.

if ( (arg(0) == 'node') && is_numeric($nid = arg(1)) ) {
$node=node_load($nid);
if($node->type=='article'){
echo 'code one';
}elseif($node->type=='my_type'){
echo 'other html';
}
}

и в нем смотри нужный тебе элемент. Аналогично глобальной переменной user

Аватар пользователя dastan dastan 13 декабря 2011 в 17:12

Chyvakoff wrote:
Всё верно.

if ( (arg(0) == 'node') && is_numeric($nid = arg(1)) ) {
$node=node_load($nid);
if($node->type=='article'){
echo 'code one';
}elseif($node->type=='my_type'){
echo 'other html';
}
}

и в нем смотри нужный тебе элемент. Аналогично глобальной переменной user

Спасибо! Работает!
А как сделать также, но без "иначе", если (тип материала не "такой") {выводить то-то то}?

Аватар пользователя 0legka 0legka 13 декабря 2011 в 17:24

ELSEIF
Является комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.

<?phpif ($a > $b) {
  echo "a больше b";
} elseif ($a == $b) {
  echo "a равно b";
} else {
  echo "a меньше b";
}
?>