При новой установке Magento он поставляется с несколькими страницами CMS по умолчанию, которые можно редактировать CMS > Pages
. Тем не менее, он также поставляется с парой «нередактируемых» страниц CMS: Orders and Returns
и Contact Us
... обе из которых являются страницами с формами на них, и подчеркивает недостаток в Magento CE: создание и редактирование форм.
Мне удалось переопределить контактную информацию по умолчанию своей собственной формой, но я хотел бы добавить другую форму, и, возможно, в будущем потребуется добавить больше форм. Я немного знаком с созданием модулей Magento для переопределения существующих функций и страниц, как я делал до сих пор.
Я начал работать над модулем, который позволял бы создавать страницы форм в Magento, но они должны быть невидимы для управления CMS, как формы по умолчанию. Я нашел ответы на программное создание страницы CMS, но это добавляет ее к Magento CMS > Pages
.
Как создать страницу CMS, которую можно редактировать только модулем Magento?
источник
Ответы:
На самом деле «Свяжитесь с нами» и «Заказы и возвраты» не являются страницами CMS. На самом деле это страницы из отдельного модуля. Они больше похожи на страницу входа или регистрации, чем на страницы CMS. Чтобы создать такую страницу, вы можете создать простой модуль с контроллером, одним блоком и одним шаблоном. Давайте назовем расширение Easylife_Customform. Для этого вам понадобятся следующие файлы.
app/etc/modules/Easylife_Customform.xml
- файл декларации модуляapp/code/local/Easylife/Customform/etc/config.xml
- файл конфигурацииapp/design/frontend/base/default/layout/easylife_customform.xml
- файл макета внешнего интерфейсаapp/code/local/Easylife/Customform/Helper/Data.php
- модуль помощника по умолчаниюapp/design/frontend/base/default/template/easylife_customform/form.phtml
- фактический HTML-код для формы - сделать так, как вам нужноapp/code/local/Easylife/Customform/controllers/IndexController.php
- модуль контроллераЭто должно быть так. Очистите кеш, и вы сможете получить доступ к форме,
mysite.com/customform
надеюсь, я написал код правильно и ничего не пропустил
источник
<reference name="head"> <action method="setTitle" translate="title"><title>Subscribe to our Newsletter</title></action> </reference>
не сработает.Mage::getSingleton('core/session')->addError("Error");
но не повезло. Это только показывает сообщение об успехе. Любая помощь?