Автор Тема: Ошибка в выводе CMS-страницы  (Прочитано 1183 раз)

12 Июль 2015, 19:39:40
Ответ #15
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Без модуля этого не сделать. Вы можете только пересылать покупателья на страницу контактов, на ней он все данные должен внести в поле Сообщение. Тогда только получите эти данные.
Чтобы сделать так, как вы пишите, нужно создавать свой конроллер, который сможет получать эти данные и отправлять на почту.

А как можно привязать модуль к определенной странице? Я так понимаю, нужно создать свой хук? Вроде же нет такого хука, чтобы он отображался в центре и только на одной какой-то странице (не главной)? (поправьте, пожалуйста, если ошибаюсь).
 
Тот контроллер, о котором вы говорите (ContactController), он же просто контроллер, не модуль, верно? Мне ведь нужно сделать примерно то же самое: несколько полей для заполнения и кнопка "Отправить". Если делать подобный контроллер, то кроме NameControllerController.php нужен только Name.tpl? Или что-то еще?

Я просто немного не понимаю, мне все-таки нужно делать модуль (что кажется мне более сложным вариантом) или отдельно контроллер?  :-\
12 Июль 2015, 20:53:44
Ответ #16
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль делаете, в нем свой контроллер и свою страницу. Хук не нужен.
12 Июль 2015, 21:04:26
Ответ #17
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль делаете, в нем свой контроллер и свою страницу. Хук не нужен.

Получается три файла (2 php и 1 tpl)? А где этот модуль будет располагаться, если не указать хук? Все туториалы, что я находила, указывали хук.

Все равно не понимаю, как модуль может привязаться к конкретной странице, если я ничего не указываю. Через контроллер? Можно, пожалуйста, более подробный ответ для новичка?
12 Июль 2015, 21:17:34
Ответ #18
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Делаете модуль как написано здесь
http://doc.prestashop.com/display/PS15/Creating+a+PrestaShop+module
Только в display.tpl добавляете форму. А в display.php добавляте функцую отсылки информации, как в шаблоне и контроллере contact-form и ContactController.php.
13 Июль 2015, 11:39:59
Ответ #19
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Делаете модуль как написано здесь
http://doc.prestashop.com/display/PS15/Creating+a+PrestaShop+module
Только в display.tpl добавляете форму. А в display.php добавляте функцую отсылки информации, как в шаблоне и контроллере contact-form и ContactController.php.

В официальном туториале то же, о чем я говорила: "In the case of this tutorial, the module will be hooked to the left column." и "In order to display something on the front-office, we have to add support for a few hooks. This is done by implementing the hooks' methods, and that was actually done in the install() method we wrote earlier, using the registerHook() method". Что тогда надо прописывать вместо этого?
13 Июль 2015, 13:35:14
Ответ #20
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Если вы хотите вывести свой шаблон на страницах ptrestashop, тогда хук нужен. Если вы делаете свою страницу, то хук не нужен. Можно добавить  hookHeader, в нем подключать стили для вашей страницы.
13 Июль 2015, 13:51:21
Ответ #21
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А как можно привязать модуль к определенной странице? Я так понимаю, нужно создать свой хук? Вроде же нет такого хука, чтобы он отображался в центре и только на одной какой-то странице (не главной)? (поправьте, пожалуйста, если ошибаюсь).
В оф.туториале написано про такой случай. Можете создать свой шаблон и контроллер для этого шаблона.
Цитировать
Embedding a template in the theme
The link that the module displays does not lead anywhere for now. Let's create the display.php file that it targets, with a minimal content, and put it in the module's root folder.

Если не устраивает решение через свой контроллер и шаблон, тогда можно создать свой хук. Который разместить в cms.tpl и в этом хуке выводить свой шаблон. В этом случае вам придеться переопределить CMSController добавить в него обработчик формы запроса.

В prestashop можно решать задачи несколькими способами.
16 Июль 2015, 01:20:43
Ответ #22
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем спасибо за помощь, но я нашла более простой способ. Если вдруг кому интересно, вот ссылка: https://mypresta.eu/en/art/know-how/tinymce-editor-full-options-all-html-tags.html
С помощью данного туториала мы подключаем доп.функции редактора CMS и поддержку полного html и js. Вроде как моя несчастная форма заработала)
16 Июль 2015, 08:36:38
Ответ #23
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как установить расширенный редактор есть тема и на этом форуме.
Prestashop FAQ - Как именить настройки визуального редактора.
Только вы хотели получать письма от пользователей с выбранной информацией. Такого в расширенном редакторе нельзя сделать.
16 Июль 2015, 12:26:11
Ответ #24
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Только вы хотели получать письма от пользователей с выбранной информацией. Такого в расширенном редакторе нельзя сделать.

Да, поэтому я решила считерить и воспользоваться сервисом http://www.jotform.com/
 :)