Урок - модуль WebForm в Drupal 6

Главная » Курсы » Курс Drupal 6, Управление » Урок - модуль WebForm в Drupal 6

Обучающий онлайн курс
Drupal 6, Управление

Лицензия: Копирование запрещено.

Давайте вернемся к нашему каталогу товаров, который мы делали на одном из прошлых уроков. Каталог успешно наполняется и более менее выводится, но заказывать товар через форму обратной связи довольно-таки неудобно, нужно копировать название, код товара, потом вставлять его в форму, писать сообщение. Давайте создадим форму упрощающую процесс заказа. Для этого нам потребуется модуль Webform, который служит для создания форм через Друпалi. По форме мы будем передавать наименование товара и его количество, если Вам требуется код товара, то по анологии Вы можете передавать и код.

Скачайте и установите модуль Webform.

После установке должен появится контент тип Webform. Создайте материал типа Webform, назовите его Форма заказа товара (или как Вам будет удобно). После создания Вы будете перенаправлены на страницу настройки материала веб-формы.

Нам необходимо создать два поля под наименование товара и его количество, для этого понадобятся два textfield (текстовые поля).

В поле наименования нужно написать %get[product]

В поле цены значение по умолчанию поставим "1".

Также добавим text field для е-мейла и еще text area для пожеланий и предпочтений клиентов.

%get[product] - аналогично php-переменной $_GET['product'], которая получает значение из URL.

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

Для выполнения следующих операций необходимо включить встроенный модуль PHPi filter, который позволяет вставлять пхп-код прямо в блок или материал. После включения этого модуля должен появиться новый формат ввода PHP code.

Создадим новый блок и выбирем формат ввода PHP code. В текст блока вставим следующее

  1. <a href="<?php print base_path(); ?>
  2. node/6?product=<?php print drupal_get_title() ?>"><br />Заказать товар</a>

, где node/6 адрес ноды веб-формы заказа товара.

функция drupal_get_title() возвращает заголовок ноды, в нашем случае заголовком ноды является наименование товара, функция base_path() - возвращает путь к корню сайта (например site-made.ru/). Теперь нужно разместить блок в регион Содержимое (Content). И задать следующую видимость блока в пхп-режиме (PHP mode):

  1. <?php
  2. $match = FALSE;
  3. $types = array('tovar' => 1);
  4. if ((arg(0) == 'node') && is_numeric(arg(1))) {
  5. $node = node_load(arg(1));
  6. $match = isset($types[$node->type]);
  7. }
  8. return $match;
  9. ?>

Здесь tovar машинное имя контент типа Товар.

Наша форма заказа товара готова.

‹ Каталог продукции на Друпале через Таксономию Вверх Drush установка под Windows, настройка. Работа с Друпал из командной строки. ›