Как сделать форму для заказа товара?
Прислано: Bulatova
чт, 13/12/2007 - 07:35
Добрый день. Мне необходимо сделать на сайте заказ товара. Чтобы при нажатии на слово "сделать заказ" открывалось окно, где были поля для заполения: наименование товара, колличество шт, тел для связи, имя. и Это все отпралялось на мой майл? С чего начать? Подскажите.
- Bulatova's blog
- Для комментирования войдите или зарегистрируйтесь
Вам поможет модуль Webform
- Для комментирования войдите или зарегистрируйтесь
Проще написать модуль, который добавит к нужному материалу ссылку "сделать заказ"
а потом будет отлавливать заполнение webform и дальше уж что вам нужно
Когда-то писал, что-то подобное - поищу, найду выложу
- Для комментирования войдите или зарегистрируйтесь
Вот версия, потестируйте
- Для комментирования войдите или зарегистрируйтесь
Спасибо, модуль скачала. Попробую поставить.
Я совсем новичок. Не расскажите куда этот файл загрузить?
- Для комментирования войдите или зарегистрируйтесь
в sites/all/modules
настройки 2: настроить email на который будут приходить уведомления и для типа материала выбрать тип (заказ или корзина)
- Для комментирования войдите или зарегистрируйтесь
Спасибо. Не подскажите, сегодня с сайтом проблемы. Не загружаетмя административный раздел. Или вообще сайт долго грузится,. С чем это может быть связанно?
- Для комментирования войдите или зарегистрируйтесь
Спасибо за модуль!
- Для комментирования войдите или зарегистрируйтесь
andypost@drupal.org спасибо за модуль, пригодился. Только по бырому переделал под свои нужды. Добавил поле для количества товаров. Если кто качать будет, еще Неотлажено!
- Для комментирования войдите или зарегистрируйтесь
Дык для этого и выкладывал - чтобы по быстрому можно было доработать до нужного фнкционала :)
Было бы хорошо, если все последущие доработки будут сопровождаться файлом и описанием - может так и получится набор "корзинных модулей"
- Для комментирования войдите или зарегистрируйтесь
Намек понят. У меня там есть комменты, правда по русски некоторые =).
- Для комментирования войдите или зарегистрируйтесь
Модуль простой и полезный. То что нужно. Спасибо!
Три вопроса:
1) Как можно вывести эту корзину отдельно в блоке (что бы было видно, что там уже чего то лежит и сразу перейти к оформлению), иначе не очень очевидно, где корзина, как в нее потом зайти, сколько там уже положено?
2) Что надо сделать, что бы в поле E-mail выводился по умолчанию адрес пользователя, если он авторизован на сайте. И вообще можно ли добавить вывод значения дополнительного поля из профиля пользователя (например поля скидка) без возможности его редактирования при заполнении данных на отправку?
3) Можно ли ввести минимальный порог заказа (например 3 или 5 наименований)?
В программировании не очень, потому и задаю наверное не очень умные вопросы, но... делать надо.
Заранее благодарю за понятный и развернутый ответ.
- Для комментирования войдите или зарегистрируйтесь
Добавить-то можно, вот только пусть это делается по необходимости...
Поля профилей у всех называются по разному, в разных полях лежит цена товара и скидки
Универсальным это не сделать!
У модуля другая цель - сделать заготовку корзины...
Блок можно сделать, но насколько полезна информация, о том, что у вас отложено?
И как её выводить, мне было достаточно сделать блоки и выводить в нем (У Вас отложено Х наименований)
Причем делается это обычным блоком, в котором
<?php print 'У Вас отложено'. count($_SESSION['cart']) .' наименований';?>
- Для комментирования войдите или зарегистрируйтесь
У меня заказчик вообще сказал блок убрать и оставить ссылку. Мож попозже допишу блок.
- Для комментирования войдите или зарегистрируйтесь
Добавил в блок
print "У Вас отложено". count($_SESSION['acart']) ." наименований";
К слову, долго тупил, почему выдает синтаксическую ошибку, пока не понял, что надо исправить два апострофа на кавычку перед словом наименование.
Все время отображается 0 наименований. Почему так?
А по поводу отображения дополнительных полей поясню подробнее:
Цену и количество товара мне не надо
Нужно просто брать из профиля пользователя значения некоторых полей и выводить их при оформлении заказа.
1) Что бы E-mail заполнялось по умолчанию из профиля юзера, если юзер зашел под своим именем (для юзабилити)
2) Выводилась информация об одном дополнительном поле, тоже из профиля
Я так понимаю, что для поля E-mail надо в тексте модуля тут:
$form['email'] = array('#type' => 'textfield',
'#title' => t('E-mail'),
'#required' => TRUE,
'#default_value' => $data['email'],
поменять в последней строчке что то вроде ($user->uid) ? $user->mail) Правильно?
А для второго создать просто вывод значения поля определенного профиля. Но как это сделать в модуле я не очень понимаю
Может так: print "Ваша скидка ". ($user->uid) ? $user->название_поля)?
И потом еще добавить это значение в письмо, что бы тоже ушло
Поправьте, что не так, плиззз
И объясните пожалуйста, тому, кто в танке, как отправлять, что бы код выводился, как код. Как у вас Андрей?
- Для комментирования войдите или зарегистрируйтесь
С заполнением принципе разобрался. По выводу полей профиля в поля заказа, как написал, так и работает, главное не забыть перед обращением к переменной указывать "global $user;"
Остался еще один вопрос нерешенный, а как в модуле прописать запрет на редактирования какого либо поля формы, как в webform (искал там, не понял) Что бы поле было с уже заполненным по умолчанию значением, но пользователь его мог только посмотреть
Но вопрос с print "У Вас отложено". count($_SESSION['acart']) ." наименований"; остался. Почему не обновляется цифра при внесении заказов в корзину.
И как сделать минимальный заказ просто по количеству позиций? Что бы заказ не формировался до, например, 4-х наименований в корзине? (количество штук у позиции всегда один штука)
- Для комментирования войдите или зарегистрируйтесь
player, andypost@drupal.org,
жаль что Ваши модули под пятёрку...
много требуется изменений в коде, чтобы они в Д6 заработали?
- Для комментирования войдите или зарегистрируйтесь
думаю нет =). Но так сразу и не написать.
- Для комментирования войдите или зарегистрируйтесь
Так почему строчка в отдельном блоке
print "У Вас отложено". count($_SESSION['acart']) ." наименований";
всегда показывает 0 наименований???
Кэширование отключено вообще.
- Для комментирования войдите или зарегистрируйтесь
Ошибочка вкралась, предыдущий комент поправил - cart а не acart
- Для комментирования войдите или зарегистрируйтесь
Спасибочки - заработало! Только еще для таких, как я поправьте два апострофа на кавычки перед словом наименований, а то при копи-пасте синтаксическую ошибку показывает
- Для комментирования войдите или зарегистрируйтесь
Подскажите пожалуста, как данный модуль адаптировать под 6-й? На 5-ке стоит все нравится. Приспичило на 6 перейти.
- Для комментирования войдите или зарегистрируйтесь
У меня не получается переконвертить с помощью deadwood! По какой-то причине не могу создать папку конвертирования в директории files - пишет, что нет прав. Может кто-то выложить версию acart для 6-го Друпала?
- Для комментирования войдите или зарегистрируйтесь
Так а где сам модуль то?)))))
Это оно?
acart.zip 4.6 кб
?)))))
- Для комментирования войдите или зарегистрируйтесь
На основе Acart от andypost@drupal.org соорудил модуль корзины для шестерки. Для интересующихся - велком.
- Для комментирования войдите или зарегистрируйтесь
Откоментил на сайте, у меня есть версия и для 6ки с привязкой к сск полям типа number, только руки не дойдут довести её до ума...
- Для комментирования войдите или зарегистрируйтесь
Откоментил на сайте...
Спасибо за своевременный отклик. Окунулся в углубленное изучение механизмов кеширования Друпала.
- Для комментирования войдите или зарегистрируйтесь
небольшой вопрос есть, уже на базе модуля сделанного Dalay, решил реализовать страницу сравнения. подскажите как реализовать вывод полей ССК - превью и таблицы характеристик...насколько я понимаю это надо сделать с помощью SQL-запроса. непосредственно текст запроса я посмотрел создав views. но пока не хватает знаний php, чтобы реализовать это.
заранее спасибо
на всякий случай прикрепляю модуль сравнения
- Для комментирования войдите или зарегистрируйтесь
На основе Acart от andypost@drupal.org соорудил модуль корзины для шестерки. Для интересующихся - велком.
Товар в количестве нельзя в корзину кинуть. А так модуль нормальный внешне
- Для комментирования войдите или зарегистрируйтесь
Откоментил на сайте, у меня есть версия и для 6ки с привязкой к сск полям типа number, только руки не дойдут довести её до ума...
да и еще, нельзя через views вид корзины сделать ? как в модуле
Flag и еще через сск поля форму заказа ) А то не модуль а Windows
Покачто сделал поле Количества товаров при создании заявки. Количество для каждого товара вносится в текст письма и в историю покупок.
Чтобы в views встаить кнопочку с "Положить в коризну" использовал модуль
views_customfield. И в поле указал код
<?php
$toch=0;
foreach ($_SESSION['basket'] as $k => $v) {
if ($k == $data->nid) $toch=1;
}
if($toch == 1){
print l(t('Книга в корзине'),'basket');
}
else{
$destination=drupal_get_destination();
print l(t('Добавить в корзину'),'basket/'.$data->nid,array('query'=>$destination));
}
?>Не тестил компатбл с autopath, возможно прийдется править.
- Для комментирования войдите или зарегистрируйтесь
Этому посту не место в этой ветке!!!
Я за реорганизацию форума http://drupal.ru/node/41775
- Для комментирования войдите или зарегистрируйтесь
А если у вас не лады с ПХП и нужен быстрый результат, я бы посоветовал создать форму онлайн заказа в MyTaskHelper.ru. Сервис не бесплатный, но вам же все-таки для бизнеса форма нужна.
- Для комментирования войдите или зарегистрируйтесь










Комментарии