Drupal - керування видимістю блоків

Зображення користувача romand.

Виникла потреба виводити блоки (реклама AdSense) лише на сторінках персональних блогів користувачів та у загальному потоці блогів. Для цього, у налаштунках видимості блоку (Page specific visibility settings) необхідно встановити перемикач у 'Show if the following PHP code returns TRUE' та додати наступний код:

if (arg(0) == 'node' && is_numeric(arg(1))) {
    $node = node_load(array('nid' => arg(1)));
    return $node->type == 'blog';
} elseif (arg(0) == 'blog') {
    return TRUE;
} else {
    return FALSE;
}

При потребі, blog можна замінити на forum.

Відгуки

Зображення користувача podarok.

а я б таке через шаблон phptemplate робив

Зображення користувача romand.

У першому варіанті налаштунки зберігаються у базі і, відповідно, не залежать від активної теми. Не дарма ж блоки в адмінці мають опції налаштування видимості?

Syndicate content

Реклама