Показать блок для определенного типа материалов

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

Аватар пользователя Oboggy Oboggy 22 августа 2008 в 2:07

Хочу чтобы блок отображался типа материала example:

<?php
$result=true;
if ((arg(0) == 'node') && is_numeric(arg(1))) {
    $node = node_load(arg(1));
    if ( $node->type == "exanple" )  $result=true;
}

И в свою очередь чтобы другой блок на example не отображался:

<?php
$result=true;
if ((arg(0) == 'node') && is_numeric(arg(1))) {
    $node = node_load(arg(1));
    if ( $node->type == "example" )  $result=false;

Блоки ведут себя странно:)
Может я что-то не так делаю?

Комментарии

Аватар пользователя Anton L. Safin Anton L. Safin 19 марта 2009 в 9:28

Это же кошмарный метод! При node_load(arg(1)) грузится вся нода целиком, включая хуки модулей.
Как-нибудь более элегантным способом это нельзя сделать? Я понимаю, что быстрее всего будет работать прямой запрос к БД, но может есть какой-нибудь стандартный метод?

Аватар пользователя penexe penexe 19 марта 2009 в 10:18

Anton L. Safin wrote:
Это же кошмарный метод! При node_load(arg(1)) грузится вся нода целиком, включая хуки модулей.
Как-нибудь более элегантным способом это нельзя сделать? Я понимаю, что быстрее всего будет работать прямой запрос к БД, но может есть какой-нибудь стандартный метод?

один хрен на этой странице дернется node_load