Всем привет!
Почитав сообщения относящиеся к теме вопроса так и не нашел ответа, поэтому хочу обратиться к сообществу.
Задача - создать страницу, на которой выводятся поля из некоторой ноды плюс поля формы отвечающие за сбор информации по адресу доставки, контактным данным и подробностям заказа. Всю полученную информацию, включая инормацию из ноды (которая по сути хранит в себе информацию о продукте, его свойствах в виде таксономии и изготовителе в виде ссылки на аккаунт) необходимо сохранить в базе и отправить по e-mail.
Я себе концептуально представляю решение так:
- Создаю с помощью CCK тип контента "Заказ"
- При нажатии кнопку "Сделать заказ" на странице продукта пользователь отправляется на страницу с формой создания объекта типа "Заказ". При этом, каким-то образом мы передаем идентификатор ноды (продукта) со страницы с которой была нажата кнопка
- В форме заказа помимо самих полей заказа отображаем информацию из ноды продукта
- После создания заказа отсылаем уведомление
Но не могу понять как выполнить пункт 2, а именно передачу идентификатора и включение объекта ноды в переменные доступные для шаблона.
Комментарии
могу предложить те сделать эту задачу с помощью WebForm, пример http://devexer.ru/zakaz
Если у кого есть решение этого вопроса, поделитесь, пожалуйста.
Я решил это вопрос так:
<?php
$form['field_item'][0]['#default_value']['nid'] = $_GET['item'];
?>
<?php
$item_id = $form['field_item'][0]['#default_value']['nid'];
$item = node_load($item_id);
$item_info = "Title: $item->title";
$buttons = drupal_render($form['buttons']);
$output = $item_info . drupal_render($form) . $buttons;
?>
Таки подниму тему. А на почту заказчику и исполнителю все это через Rules высылать?
пишем функцию генерации формы.
Содержимое формы :
скрытое поле('#type'=>'hidden') с идентификатором ноды-товара
Кнопка "Заказать"
функцию сабмита формы, которая создает материал типа "Заказ" и отправляет уведомление.
в хуке ИМЯ_МОДУЛЯ_nodeapi($op,$node)
при $op=='view' вставляем форму-кнопку в вывод ноды..
все..
Спасибо!