Здравствуйте, нельзя включить модуль webform в меню модулей drupal - вопрос №1935071

Лучший ответ по мнению автора

Если я правильно вас понял то это модуль — создание формы заказа товара. Если так, то попробуйте сделать вот так -

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

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

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

изображение из вопроса

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

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

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

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

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

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

?

1

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;"><a href="<?php print base_path(); ?>node/6?product=<?php print drupal_get_title(); ?>"></span><span style="font-size: 10.0pt;">заказать</span><span style="font-size: 10.0pt;">тоавар</span><span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;"></a></span>

 

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

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

?

1

2

3

4

5

6

7

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">$types['tovar'] = 1;</span>

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">$match</span><span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">= false;</span>

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">if</span><span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">((arg(0) == 'node') && is_numeric(arg(1))) {</span>

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">  $node</span><span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">= node_load(arg(1)); </span>

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">  $match</span><span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">= isset($types[$node->type]); } </span>

<span lang="EN-US" style="font-size: 10.0pt; mso-ansi-language: EN-US;">  </span><span style="font-size: 10.0pt;">return</span> <span style="font-size: 10.0pt;">$match; </span>

<span style="font-size: 10.0pt;">}</span>

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

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

27.04.16
Лучший ответ по мнению автора

Alexander

от 500 p.
Читать ответы

✯ Анна ✯

от 0 p.
Читать ответы
Посмотреть всех экспертов из раздела Технологии > Создание сайтов
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store