Наконец-то добрался до блога и, как и обещал ранее, правда с опозданием, пишу пост по созданию тем Drupal. Собственно, это не совсем пост а свободный перевод статьи весьма грамотного drupal-разработчика Tim «TimOnWeb» Kamanin, который тоже открыл свой блог после отпуска именно этой статьей. Мне она показалось полезной и интересной, поэтому и решил поделиться ей с вами.
Итак, три наиболее часто задаваемых вопроса по темам для Drupal:
- Как выводить комментарии в любом месте темы Drupal?
- Как избавиться от текста ‘Поиск на этом сайте » в блоке окна поиска?
- Как вывести вид в любом месте темы Drupal?
Как выводить комментарии в любом месте темы Drupal?
Автоматически Drupal выводит комментарии в нижней части статьи. Но вы можете вывести комментарии в любом месте вашей темы используя приведенный ниже код:
<?php if (function_exists('comment_render') && $node->comment) { echo comment_render($node, $node->cid); $node->comment = NULL; } ?> |
Лучше всего размещать этот код конечно же в шаблоне нодов node.tpl.php или node-type.tpl.php но, при желании, вы можете разместить этот код в любом файле шаблона темы. Главное чтобы обязательно была определена переменная $node.
Как избавиться от текста ‘Поиск на этом сайте » в блоке окна поиска?
В темах Drupal 6 умолчанию, выводится раздражающих ярлык выше строки поиска: «Поиск по сайту». Неизвестно зачем эта метка была внедрена по умолчанию в темы Drupal6, но мы можем легко избавиться от него, выполнив следующие действия:
а) удалить ярлык с основной формой поиска темы (который называется переменной $search_box)
В папке выбранной темы в, измените или создайте (если он не существует) файл с именем: search-theme-form.tpl.php и добавьте в него следующий код:
<?php $search["search_theme_form"] = str_replace(t('Search this site:'), '', $search["search_theme_form"]); print $search["search_theme_form"]; print $search["submit"]; print $search["hidden"]; ?> |
б) удалить ярлык из блока поисковой формы (которая вызывается в боксе блока поиска):
В папке выбранной темы, нужно изменить или создать (если он не существует) файл с именем: search-block-form.tpl.php и добавить в него следующий код:
<?php $search["search_block_form"] = str_replace(t('Search this site:'), '', $search["search_block_form"]); print $search["search_block_form"]; print $search["submit"]; print $search["hidden"]; ?> <?php if (isset($search['extra_field'])): ?> <?php print $search['extra_field']; ?> <?php endif; ?> |
Если ничего не изменилось, то перегрузите реест тем. Достаточно просто по новой зайти в управление темами.
Как вывести вид в любом месте темы Drupal?
Модуль Views очень сегодня очень популярен в мире Drupal. Мало серьезных вещей на Друпал может быть сделано без использования этого модуля. Естественно, что один из самых распространенных вопросов, связанных с Views — это как выводить созданный вид на любой желаемой странице Drupal в любом желаемом месте? Все очень просто. Добавьте фрагмент кода приведенный ниже в нужное место нужного файла шаблона вашей темы:
<?php print views_embed_view('viewname', 'default', $arg); ?> |
viewname — это машинное имя созданного вами вида;
default — обозначает что мы используем рендер вида по умолчанию;
$arg — может быть пустым, или же вы можете добавить аргументы вида, если таковые используются.
Это были три наиболее распространенных вопросы по темам Drupal и ответы на них по версии Tim «TimOnWeb» Kamanin’а, еще раз спасибо ему за полезную информацию. Удачных вам тем для Drupal.
Спонсоры статьи: