Формы

Для того, чтобы у ваших пользователей была возможность вставить какой-нибудь код в качестве текста на ваш сайт (например, вам надо вставить в статью примеры написанного кода на пхп, а Друпал по умолчанию все теги из текста удаляет) - нужно установить и настроить модуль GeShi.
Устанавливаем модуль как всегда: https://www.drupal.org/project/geshifilter
в папку sites/all/libraries/geshi копируем библиотеку geshi (ссылка на нее есть в описании модуля на друпал.орг)
Заходим в нужный текстовый форма /admin/config/content/...

Если вам нужно выставить значения по умолчанию для некоторых раскрытых фильтров во вьюс программно, то вам не поможет хук _form_alter, потому что раскрытые фильтры не оттуда берут default_value.
Оказывается, нужно использовать хук _views_pre_build(&$view), в котором изменять handler нужного фильтра, примерно так:

function zz_np_views_pre_build(&$view) {...

К сожалению, сущность entityform не является нормальной нодой, соответсвенно её вывод нельзя переопределить как обычно через node--entityform.tpl.php
Для того, чтобы справиться с этой задачей, надо прописать:
В template.php:

function THEMENAME_theme($existing, $type, $theme, $path...

Постоянно в работе сталкиваюсь с проблемой необходимости вывода своей формы, которую создал в своем модуле, во всплывающем окне.
На текущий момент есть несколько модулей для отображения форм во всплывающем окне, такие как popups, modal_form, colorbox, lightbox2, но они все заточены под конкретные стандартные формы друпала (такие как форма логина или регистрации), или же под модуль webform (чем я, собственно, и обходился в прошлых проектах).
На самом деле нам не нужны никакие лишние модули.
Весь нужный функционал есть в модуле ctools, который и так всегда стоит на всех...

Для того, чтобы подставть значение по умолчанию в какое-то из полей формы Entityform (d7 замены webform), нужно использовать модуль Prepopulate
Устанавливаем его, создаем свою entityform type, добавляем туда любое поле.
Затем заходим на эту форму (в списке созданных entityform есть ссылка submission link).
Открываем код страницы и смотрим тег name у нужного нам поля:
2_1.jpg
в моем примере это ...

С модулем Select2 произошла беда - первый, кто заапрувил свой проект под таким названием, видимо, потерял к нему свой интерес, и даже не залил кода, не говоря уже о передаче прав на разработку модуля кому-то другому.
Позже появилось несколько sandbox-проектов по интеграции этой библиотеки в друпал, но у каждого из них есть свои недостатки.
Самый адекватный из них на данный момент: https://drupal.org/sandbox/agpsoftdev/...

На многих корпоративных сайтах вверху есть блок выбора своего города, и при его изменении на сайте уже отображаются статьи или какой-то материал, специфичный именно для этого места.
Примеры таких блоков: на сайте Альфа-банка или Эльдорадо, даже Сбербанк не отстаёт и перенаправляет пользователя сразу на нужный раздел сайта.

Итак, чтобы сделать такое на Друпале, нам понадобится:
Модуль Smart IP: https://drupal.org/project/...

В полях формы друпал подставляет красный символ звездочки (*), если поле обязательно к заполнению. Чтобы заменить этот символ, необходимо в шаблоне template.php вашей темы оформления реализовать следующий хук:

<?php
function THEME_form_required_marker($variables) {
  // This is also used in the installer, pre-database setup.
  $t...

Я несколько раз сталкивался с проблемой, что Webform вообще никак не хочет обрабатываться, если он находится во всплывающем окне (lightbox или colorbox).

Решением данной проблемы оказалось следующее: во-первых, надо использовать дополнительный модуль colorbox_node

Во-вторых, надо использовать версию colorbox_node 7x-2.6 (желтым цветом), а не итоговый релиз 3.0 - потому что итоговый релиз с вебформами пока не научился нормально работать!

После этого просто создаете как всегда веб-форму, пишете в ней что в результате надо переводить на confirmation message, сообщение...

Если по каким-то причинам вы импортировали сырые значения текстов нод в поле body прямо в базе данных, и теперь вам нужно, чтобы все теги отображались не текстом, а работали как обычные теги - надо запустить VBO с таким кодом:

$entity->body['und'][0]['format...

Нужно использовать 'file path' и 'file' для подключения страниц модуля user в хуке hook_menu:

$items['account'] = array(
    'title' => t('Account details'),...

Это поразительно, но нигде нет достойного отлаженного скрипта для стилизования элемента загрузки файла - во многих, правда, используется jQuery 1.4, что в моей задаче не подходит - в Drupal 6 должен использоваться только jQuery 1.3.2.

Предлагаю исправленный вариант скрипта от Scott Jehl, с исправленными его багами, а так же его интеграция в Друпал

Интегрировать так:
включить js файл и добавить немного css:

/*custom upload elements*/
.customfile-input...

Это означает, что у вашего модуля слишком маленький вес среди других модулей, и его форм_альтер запускается слишком рано. Решение этой проблемы - использование отдельных хуков hook_form_BASE_FORM_ID_alter http://api.drupal.org/api/drupal/modules--system--system.api.php/functio...

Стандартный метод установки элементу параметра '#disabled' не работает для cck-полей

<?php
function my_module_form_alter(&$form, &$form_state, $form_id) {
  $form[...

Страницы