Форма поиска

Не получается?

Не получается решить проблему с Друпалом?

Готовы помочь делом и советом. Стоимость часа - 500 руб.

Запросить помощь

Поделитесь ссылкой:

Как разместить форму в блоке

Очень просто:

  1. Описать традиционную функцию формы.
  2. С помощью функции drupal_get_form($form_id) получить структурированный массив формы.
  3. Преобразовать его в HTML, вызвав drupal_render(&$elements).
  4. Передать результат Друпалу в хуке module_block_view().

Как это будет выглядеть в коде. Опишем наш блок в функции модуля, реализующей hook_block_info:

function module_block_info() {
  $blocks['recall'] = array(
    'info' => t('Callback block'),
    'cache' => DRUPAL_NO_CACHE,
  );
  return $blocks;
}

Поскольку при каждом запросе Друпал генерирует для формы уникальный form_token, придется запретить кэширование блока. Далее, создадим hook_block_view:

function module_block_view($delta = '') {
    switch ($delta) {
      case 'recall':
        $block['subject'] = '<none>';
        $form_arr = drupal_get_form('module_recall_form');
        $form = drupal_render($form_arr);
        $block['content'] = $form;
        break;
    }
    return $block;
}

И зададим, как обычно, module_recall_form($form, &$form_state), module_recall_form_submit($form, &$form_state), а при необхоимости и module_recall_form_validate($form, &$form_state) для проверки данных, введенных пользователем.

Все просто. Форма в блоке готова.

Полезна ли для вас эта информация?: 
4
Ваша оценка: Нет В среднем: 4 (2 голосов)

Размещение и поддержка сайтов на Drupal

Предлагаем услуги по размещению и поддержке сайтов, разработанных как в нашем бюро, так в других веб-студиях.

Мы готовы взять на себя все работы по поддержке вашего сайта или электронного магазина и гарантируем его доступность и безопасность.

Подробнее ...

Предметная фотосъемка

Выполним профессиональную фотосъемку вашей продукции, офиса, производства, участка или любых других объектов.

Оплата услуг

Оплатить услуги разработки, модернизации, поддержки и размещения сайтов можно любыми удобными вам способами как в интернете, так и оффлайн. Оформляются все бухгалтерские документы.

Оплата услуг