Автор Тема: Модуль "Корзина Покупателя"  (Прочитано 16037 раз)

29 Сентября 2011, 13:41:32
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, не уверен правильно ли я создал тему, вопрос состоит в следующем:
я разместил свои товары на сайт движка престашоп. при оформления заказа, используя модуль "корзина покупателей", выходит стандартная форма заполнения данных покупателя (фио, индекс, город и т.д.), потом ниже способ доставки и способ оплаты. Как я могу отредактировать данную форму заказа, какие то добавить, какие то удалить поля в форме, и хотелось бы удалить надпись "способы оплаты".
Спасибо.
:)
29 Сентября 2011, 17:06:26
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22215
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Зависит от того какой модуль prestashop вы используете. Может у вас стандартный процесс оформления покупки ?
Есть разные модули prestashop которые меняют checkout. Модуль, One Page Checkout, выводит всю информацию на одной странице.
Какой вы используете ?
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
29 Сентября 2011, 18:14:23
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
В папке "modules" найдите модуль который отвечает за процесс оформления. Например, папку "onepageсheckout", если вы установили такой модуль.  Внутри этой папки находятся файлы шаблонов .tpl.  Измените шаблон tpl.
Cоздание интернет сайтов Webstudio UwK
29 Сентября 2011, 21:06:08
Ответ #3
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я использую стандартный модуль "корзина", который шел по умолчанию в комплекте с движком престашоп 1.4.4.0. Что то я не подумал о другом модуле, мож действительно другой установить и там можно легко это все редактировать.
29 Сентября 2011, 22:18:40
Ответ #4
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102473
  • Репутация: +34218/-0
    • Просмотр профиля
Если вы не используете доп. модуль prestashop, а все установлено из "коробки". Тогда можете внести изменения непосредствено в шаблоны, файлы tpl, вашей темы.
/themes/prestashop/order-payment.tplМожно поменять текст через админку, Инструменты -> Перевод -> Ваш блок,в котором хотите поменять текст.

Так вы можете убрать не нужные надписи, но для добавления дополнительных полей или изменения процесса покупки вам потребуется сделать собственный модуль.
07 Октября 2011, 19:15:13
Ответ #5
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Установил "модуль быстрой регистрации" как раз то что мне нужно, там я смог нужные мне поля добавить и сделать нужные мне обязательные поля для заполнения. А как мне избавится от двух окон снизу "Зарегистрироваться" и "Уже зарегистрированы в нашем магазине"? Эти два окна из стандартного модуля... мне просто регистрация на странице не нужна. Вот найти бы этот модуль из "коробки" и отключить его бы...?
08 Октября 2011, 00:35:12
Ответ #6
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102473
  • Репутация: +34218/-0
    • Просмотр профиля
Когда вы установили новый модуль, то его нужно настроить.
Что нужно сделать при установки модуля (файл с описанием в модуле есть) ? 
08 Октября 2011, 00:58:39
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22215
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Ставил себе такой на prestashop 1.3. Таких проблем не было. На 1.4  не пошел, постояно выскакивала ошибка.
Нет там никаких указаний по установке.Только то, что необходимы только Ф.И. и телефон, должен быть установлен стандартный модуль оплата при получении («cashondelivery»).
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
08 Октября 2011, 01:13:54
Ответ #8
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Цитата: марс
.. мне просто регистрация на странице не нужна. Вот найти бы этот модуль из "коробки" и отключить его бы...?

Правте файл authentication.tpl

Цитата: mAgency
Ставил себе такой на prestashop 1.3. Таких проблем не было. На 1.4  не пошел, постояно выскакивала ошибка.
Нет там никаких указаний по установке.Только то, что необходимы только Ф.И. и телефон, должен быть установлен стандартный модуль оплата при получении («cashondelivery»).

Вы пишите про модуль быстрой регистрации для PrestaShop или про модуль Express Checkout для PrestaShop ?
В PrestaShop 1.4 это все есть, Панель Управления  - Общие настройки:

- Процесс оформления заказа:  Выберете способ оформления заказа Стандартно (5 шагов) или оформление заказа на одной странице

- Включить "Гостевую" покупку: Да/Нет

Cоздание интернет сайтов Webstudio UwK
08 Октября 2011, 09:02:29
Ответ #9
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня несколько вопросов:

1. С пхп не дружу, поэтому хотел бы пошаговую инструкцию "как убрать поля в регистрации". Слышал, что кроме authentication.tpl нужно ещё что-то править чтобы убрать обязательные поля.
2. Поставил модуль покупка без регистрации - expressorder v3.5 - всё отлично, только после заказа клиент оказывается залогиненым (вошедшим в систему) и при повторном заказе уже не высвечивается этот модуль. Можно конечно выйти из системы и снова набрать корзину, но упускать таким образом покупателя не хочется.
09 Октября 2011, 01:01:04
Ответ #10
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102473
  • Репутация: +34218/-0
    • Просмотр профиля
Вопросы по модулю prestashop, который вы используете, лучше всего задавать разработчику этого модуля.
1. Фактически вам нужна пошаговая инструкция - Как написать свой модуль PrestaShop. Так как этот модуль не дает такой возможности.
 
Цитировать
как убрать поля обычной регистрации?
..............
мой модуль добавляется динамически через javascript. Поэтому, если хочется убрать обычный модуль придется и подредактировать мой.

2.Чтобы при повторном заказе модуль работал, нужно сразу после оформления заказа программно выйти из системы (для покупателя, который завершил заказ). Тогда при следующей покупке модуль будет работать как нужно.
Вот что советует разработчик этого модуля:
Нужно написать в файле authentication.php на 229 строчке после строчки:
$order = new Order(intval($cashOnDelivery->currentOrder));строчку:
Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.intval($cart->id).'&id_module='.intval($cashOnDelivery->id).'&id_order='.intval($cashOnDelivery->currentOrder));
09 Октября 2011, 14:06:25
Ответ #11
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Цитата: Виктор Демидов
Вот что советует разработчик этого модуля:
Нужно написать в файле authentication.php на 229 строчке после строчки:
$order = new Order(intval($cashOnDelivery->currentOrder));строчку:
Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.intval($cart->id).'&id_module='.intval($cashOnDelivery->id).'&id_order='.intval($cashOnDelivery->currentOrder));
Такой способ не решит эту проблему.
Цитата: Виктор Демидов
Чтобы при повторном заказе модуль работал, нужно сразу после оформления заказа программно выйти из системы.
Внести изменения в процесс оформления заказа, не только при удачном завершении, но и если заказ не оформлен или произошел возврат, переход - выход из системы.
Проблема только в одном, если планируется использование 2 методов, стандартная авторизация и экспресс-заказ.
Если не учитывать различные способы оформления товара, то можно просто добавить
self::$cookie->logout();
в файл:
/controllers/OrderConfirmationController.php
в конце :
public function preProcess()
{
Только зачем это нужно делать ?
Как вы планируте выполнять заказ ? У вас нет данных о клиенте, у клиента нет данных о заказе (кроме выбранного товара). Чтобы как-то связать клиента и заказ, нужно будет доработать этот модуль.
Проще использовать стандартные возможности,
- Процесс оформления заказа:  оформление заказа на одной странице
- Включить "Гостевую" покупку: Да
Cоздание интернет сайтов Webstudio UwK
09 Октября 2011, 16:13:16
Ответ #12
  • Фрилансер
  • *
  • Сообщений: 249
  • Репутация: +3/-0
    • Просмотр профиля
А как в prestashop 1.3 это сделать ?
Где это настраивается ?
Цитировать
- Процесс оформления заказа:  оформление заказа на одной странице
- Включить "Гостевую" покупку: Да
11 Октября 2011, 21:10:56
Ответ #13
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{
Цитировать
Проще использовать стандартные возможности,
- Процесс оформления заказа:  оформление заказа на одной странице
- Включить "Гостевую" покупку: Да
В стандартном не получается отредактировать форму заполнения данных: убрать ненужные поля типа Страна, Организация, Домашний телефон и сделать поля "необязательными", поэтому приходиться устанавливать дополнительные модули, типа expressorder, там все через веб-интерфейс легко настраивается, вот только новая возникла проблема, к-ю 1ncom1ng описал выше) мда)
11 Октября 2011, 22:22:55
Ответ #14
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
1.При использовании этого модуля можно убрать окна Регистрация и Авторизация, самый простой метод, изменить файл:
/themes/prestashop/authentication.tpl
{if !isset($email_create)}
  <form action="{$link->getPageLink('authentication.php', true)}" method="post" id="create-account_form" class="std">
    <fieldset>
      <h3>{l s='Create your account'}</h3>
      ....
      {if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED}
      ....
заменить на
{if !isset($email_create)}
  <form action="{$link->getPageLink('authentication.php', true)}" method="post" id="create-account_form" class="std">
  </form>
  {if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED}
  ....
2. Добавить
self::$cookie->logout();о чем уже было написано.
Метод не совсем хороший, но если не знаешь где и как править, то самый простой.
Cоздание интернет сайтов Webstudio UwK