Регионална политика

Нормалната човешка логика почти никога не е на дневен ред в изискванията на г-н клиента, което се отразява в безкрайно сложната плетеница от друпалски взаимосвързаности, която успявам да издигна всеки път подобно на много крива и много крехка структура от карти.

Днешното предизвикателство изисква да се измисли безболезнен начин за инжектиране на информация насред самото node съдържание. Да, има input filter, който вмъква в body блок със съответния token, но по най-важния за всеки сайт закон за кретеноустойчивостта е винаги по-добре да не се предоставя на клиента да има достъп до какъвто и да е код. А и в случая предвид фрагментираното разпределение на полетата в съдържанието, body не ни върши работа.

Което води до обръщане към добре работещата, но пък доста усложнена template система на Drupal 7. Както е известно, блоковете се показват в предефинирани региони, които се принтират в page template-ите. В случая обаче блокът трябва да бъде визуализиран в node tempate, в който по уви визуализиране на региони не е предвидено out of the box.

Но на помощ идва следната друпалска функция:

<?php
   
print render(block_get_blocks_by_region('region_name'));
?>

Превод в ефир - викаме всички блокове, наместени в този регион, независимо дали е дефиниран в page template-а или не.

Доколко това е чисто решение, може да се поспори, но поне работи.

 

 

Average: 3 (1 vote)

Коментирай