Доброе время суток!
Начал собирать свою тему, и встал следующий вопрос: когда мы генерируем новый блок ч/з меню Blocks->Add block ему автоматически присваивается некоторый идентификатор (смотрю через devel Themer) т.е. block-page.tpl.php > block-block-[id].tpl.php, где id - уникальный номер блока. Чтобы подсунуть в тему свой шаблон достаточно создать одноименный файл. Но...когда таких блоков становиться много, уже не помнишь где какой. Собственно вопрос: есть ли модуль, или что надо поправить в ядре, чтобы автоматическое имя блока генерировалось как block-block-[название блока при создании].tpl.php
Огромное спасибо!
Комментарии
Этого можно избежать если вызывать в теле блока свои theme функции которые будут передавать в блок уже сгенеренный HTML каждая функция пусть называется так как вы ее запомните. Функции собираете в своем модуле. Тогда у Вас будет один шаблон для блока и не надо будет ломать голову как перестраивать его названия в шаблонах.
Если я правильно понял, надо в блоке block-block-[id].tpl.php сделать что-то типа сделать
<?php include (block-block-[my_block_name].tpl.php);?>??
Собственно хотелось бы избежать этого..т.е. разрастания количества файлов
Вы не правильно поняли у Вас есть шаблон в теме block.tpl.php он один и больше других не надо.
Вы создаете блок с каким либо контентом и теле блока пишите
<?php echo theme('имя функции', аргументы) ?>
Эту функцию описываете и регистрируете в своем модуле. Функция строит Вам нужный HTML и передает его в единственный шаблон блока. А в стилях вы уже сами прописываете то что вам надо внешний вид и т.д.
К примеру вы создали вьюху которая выводит в блок какие либо материалы и Вам необходимо ее потемить своеобразным образом вы можете выводить блок созданный этой вьюхой и темизировать шаблон блока, а можете создать новый блок в теле которого напишите:
<?php echo theme('view', 'view_name', аргументы) ?>
И перекроете theme функцию вьюхи уже в коде а не в новом файле.
Данный способ конечно не всегда нужен, но если стоит проблема большого количества блоков, то лучше искать функцию в коде, чем шаблон в куче файлов.