Включите стандартный модуль ядра Drupal 7, — PHP filter, по умолчанию-то он выключен.
Добавим блок в нужный нам регион, формат ввода «PHP код». Нужно только получить url и заголовок просматриваемой посетителем ноды. Смотрим код:
Включите стандартный модуль ядра Drupal 7, — PHP filter, по умолчанию-то он выключен.
Добавим блок в нужный нам регион, формат ввода «PHP код». Нужно только получить url и заголовок просматриваемой посетителем ноды. Смотрим код:
На днях возникла необходимость вытащить в
<div class="field field-name-field-mytext field-type-text field-label-above"> ... </div>
— просто FancyBox без использования дополнительных модулей настраивал. Читать далее »
На днях после переноса N-ого сайта на хостинг случилась оказия с неправильной кодировкой и как следствие вот такими «
Проблема была решена прямым указанием utf-8 в «.htaccess», используя нижеследующее:
AddDefaultCharset utf-8
По умолчанию регионы в Drupal доступны для вызова в шаблоне страницы (page.tpl.php), но комментарии-то в ноде. Блок будет выведен после них. Обойти данное ограничение можно, используя препроцессы (хуки).
Заготавливаем регион в info-файле темы:
regions[имя_региона] = Подвал содержимого
Теперь сообщаем об этом ноде в файле «template.php»: Читать далее »
Итак, сделаем использование модуля BUEditor на Drupal ещё удобней: напишем немного своих
Итак, начну с простого: произвольный HTML-тег, пусть это будет <strong>:
<strong>%TEXT%</strong>
Без проблем. В «%TEXT%» окажется вставленный текст, а по бокам нужное нам обрамление. Читать далее »
Для того, чтобы активировать данную возможность понадобится всего лишь подключить-приписать 2 расширения редактора:
%BUEDITOR/library/bue.autocomplete.js %BUEDITOR/library/bue.li.js
Итак, подключение JavaScript к Drupal 7 только на страницах определённого типа материала можно осуществить, выставив препроцесс на ноду. Просто пропишите в файле «template.php» (тот, что в папке вашей активной темы) нижеследующий код, к примеру:
<?php function ИмяТемы_preprocess_node(&$variables) { $my_node_type = $variables['node']->type; // получим тип ноды
Итак, в данном примере я немного изменю стандартный друпаловский блок с формой поиска. А если поточнее, добавлю в поле ввода произвольный текст в блоке формы поиска, исчезающий по клику левой клавиши мыши.
Вот рабочий код, далее вникаем в суть комментариев:
function модуль_или_тема_preprocess_search_block_form(&$vars) { // Устанавливаем значение поля формы $vars['form']['search_block_form']['#value'] = t('Что будем искать?');
Предисловие. Итак, в один прекрасный день зайдя на N-й сайт я обнаружил, что Drupal обкладывает меня своими «Warning…». Наглядные скриншоты к сожалению не сохранились, потому опишу суть ошибок словами. Полетела таблица «префикс__cache_form». Где «префикс» — «приставка», заданная мной при установке системы. Сообщения на первый взгляд выглядели очень пугающе, — на каждой странице и почти на весь экран моего монитора с кучей символов.
Но по сути данное явление «чуда» оказалось не столь страшным, — это же обычные таблицы кэша системы. Отсюда простое решение, — всего лишь удалить битую таблицу (crashed). Далее пересоздать её с теми же полями, — структура должна быть прежней. И все будет хорошо. Читать далее »
Итак, рассмотрим буквально два простых конкретных примера работы с формами на Drupal 7. Поехали.
Example 1.
<?php function MyRegForm_form_user_register_form_alter(&$form, &$form_state, $form_id) {