Skip to Content

Afisarea unui bloc doar pe paginile care apartin unei anumite categorii

Uneori avem nevoie ca un anumit block sa fie afisat doar pe paginile care apartin unei anumite categorii. Nu stiu cum o fi in alte CMS-uri dar in Drupal e relativ simplu de facut, ca mai toate cele. Smile

1. faceti blockul, yada-yada, orice input format, nu conteaza

2. la "Page specific visibility settings" bifati "Show if the following PHP code returns TRUE"

3. in snippet la "$term_id_to_trigger_show_block" puneti ID-ul categoriei

4. nu uitat de tagurile php, ca altfel nu merge si va imbolnaviti cu nervii capului incercand sa aflati de ce

5. puneti blockul pe "do not cache" sau pe un sistem de caching pentru acel bloc

6. enjoy!


<?php
$make_block_visible = FALSE;
$term_id_to_trigger_show_block = 974; // ID-ul categoriei careia ii apartine pagina
if ((arg(0) == 'taxonomy') && (arg(1) == 'term') && (arg(2) == $term_id_to_trigger_show_block)) {
$make_block_visible = TRUE;
}
// THIS TAKES CARE OF NODES
if (arg(0) == 'node' && arg(1) && is_numeric(arg(1))) {
$node = node_load(arg(1));
foreach ($node->taxonomy as $term) {
if ($term->tid == $term_id_to_trigger_show_block) $make_block_visible = TRUE;
}
}
return $make_block_visible;
?>

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Textual smileys will be replaced with graphical ones.

More information about formatting options

CAPTCHA
Demonstreaza ca esti barbat si nu robot si raspunde la intrebarea de mai jos. :)
Fill in the blank


Smokers | articole