Blok widoczny w zależności od ścieżki oraz typu segmentu
Porada zaczerpnięta z http://drupal.org/node/42802
Czasem potrzeba zrobić blok widoczny przy jakimś typie zawartości oraz dodatkowo na kilku podstronach o dowolnych ścieżkach.
Przykładowo mamy formularz wyszukujący nam restauracje i wrzucamy go do bloku. Chcemy aby był widoczny w dziale z artykułami o jedzeniu (http://naszastrona.pl/jedzenie), w wynikach wyszukiwania (http://naszastrona.pl/szukaj-lokalu) oraz przy każdym segmencie będącym typu 'lokal'.
Jak to zrobić? Wystarczy stworzyć odpowiedni blok z formularzem, a następnie ustawić mu na samym dole (w części *Pokazuj blok na określonych stronach*) opcję *Wyświetlaj, jeśli poniższy kod PHP zwraca prawdę - TRUE (tryb PHP, tylko dla ekspertów).*
i wstawić w pole poniżej następujący kod, dostosowując go do naszych warunków:
bc. <?php
if (arg(0) == 'szukaj-lokalu' || arg(0) == 'jedzenie') {
return TRUE;
// pokaż jeśli w ścieżce występuje jedzenie lub szukaj lokalu
}
if (arg(0) == 'node' && ctype_digit(arg(1))) {
$node = node_load(arg(1));
if ($node->type == 'lokal') {
return TRUE;
// pokaż jeśli wyświetlany segment jest typu 'lokal'
}
}
return FALSE;
?>
miłego drupalowania!

Ostatnie odpowiedzi