Приветствую вас, дорогие друзья! На связи Петропавловский Артем! По многим просьбам трудящихся я запускаю курс по разработке интернет-магазина с помощью шаблонизатора Fenom, который встроен в pdoTools от Василия Наумкина. Документацию по pdoTools вы сможете найти на modx.pro.
Разрабатывать интернет-магазин мы будем на основе шаблона magazine.ru из нашего магазина шаблонов. Хочу вас сразу заинтриговать, что в данном курсе будет использовано несколько интересных штук помимо самого Fenom, поэтому усаживайтесь поудобнее, берите попкорн и вперед - на встречу приключениям! Также спешу заметить, что в курсе будет достаточно много платных дополнений. Если вы по каким-то причинам не можете их приобрести – напишите нам на почту, предложим вам альтернативы.
Конечно, любая первая часть будет начинаться с установки нашего любимого MODx Revolution. Но в отличие от предыдущих курсов я просто оставлю тут видео, как я это делал ранее. Конечно, произошли изменения в установщике MODx, так как они были незначительны, я решил пропустить данный шаг. К тому же у нас есть материал с прошлого курса:
Надеюсь, что вы уже по быстренькому развернули MODx у себя на сервере и мы можем приступать. Для начала нам необходимо поставить следующий набор компонентов:
- TinyMCE - визуальный редактор для менеджера из официального репозитория MODx
- FormIt – компонент для отправки форм из официального репозитория MODx
- MIGX – конструктор для TV-параметров из официального репозитория MODx
- Translit – плагин транслитерации URL из официального репозитория MODx
- Filetranslit – плагин транслитерации наименования файлов при загрузке на сервер из официального репозитория MODx
- ClientConfig – компонент для конфигурации сайта из официального репозитория MODx
- Ace – редактор кода с поддержкой Emmet из официального репозитория MODx
- sdStore – компонент, подключающий репозиторий modstore.pro из официального репозитория MODx (я ленивая задница, поэтому всегда подключаю репозиторий через эту штуку)
- pdoTools – собственно, зачем мы и собрались все вместе, универсальный компонент для выборок из базы данных. Устанавливаем из репозитория modstore.pro.
- miniShop2 – компонент для интернет-магазина. Устанавливаем из репозитория modstore.pro.
- ajaxForm – обработка форм по технологии AJAX. Устанавливаем из репозитория modstore.pro.
- phpThumbOn – компонент для создания миниатюр изображений. Устанавливаем из репозитория modstore.pro.
- frontendManager – просто классная штука. Устанавливаем из репозитория modstore.pro.
Я думаю, что пока нам этого добра хватит для старта. Теперь нужно произвести базовую настройку сайта. Для этого переходим в системные настройки (раздел core) и устанавливаем следующие значения:
- site_name – Имя сайта - как хотите, я назвал сайт Fenom Lessons
- friendly_urls - Использовать дружественные URL – Да
- friendly_urls_strict - Строгий режим дружественных URL – Да
- use_alias_path - Использовать вложенные URL – Да
- friendly_alias_translit - Транслитерация псевдонимов – Russian
Думаю, что догадливый перец узнал, что мы частично настроили Дружественные URL (ЧПУ). Настроили мы их с вами не до конца, так как нам нужно переименовать файл ht.access в .htaccess, лежащий в корне сайта. Но вот ведь незадача! MODx с недавнего времени запрещает делать это через панель администратора, поэтому мы с вами можем это обойти просто переименовав с помощью FTP или любого другого подобного инструмента.
Отлично! Все должно пройти успешно. И нам с вами уже давно пора включить обработку Fenom в наших чанках и шаблонах. Сделать это можно с помощью системных настроек (раздел pdoTools), поставив их значение в положение “Да”:
- pdotools_fenom_default - включает обработку через Fenom чанков pdoTools. Включено по умолчанию.
- pdotools_fenom_parser - включает обработку шаблонизатором всех страниц сайта. То есть, не только чанков, но и шаблонов.
- pdotools_fenom_save_on_errors – включите эту опцию, чтобы сохранять ошибки компиляции Fenom в директорию "core/cache/default/pdotools/error" для последующей отладки.
- pdotools_fenom_modx - добавляет системные переменные {$modx} и {$pdoTools} в шаблоны Fenom. Тоже очень опасно - любой менеджер может управлять объектами MODX из чанков.
Я очень редко сам использую fenom для всего сайта целиком из-за последней настройки, так как довольно часто приходится реализовывать сайты с разграничением прав доступа, но функциональность fenom очень велика.
Итак, я думаю, что вам нужно рассказать, как мы будем действовать по ходу разработки.
- Мы с вами будем использовать файловые элементы: шаблоны, чанки, сниппеты, плагины.
- Будем писать код PHP, используя API MODx.
- Нам с вами придется соприкоснуться с той информацией, которая была в прошлых курсах, но от этого нам никуда не деться.
- Будут вещи, которые я расскажу только в видео и наоборот распишу только в статьях, поэтому вам нужно быть внимательными.
- В конечном итоге мы с вами получим полностью функциональный интернет-магазин.
На этой ноте я вам предлагаю закончить первую часть и незамедлительно приступить к самому интересному. А пока я дам вам домашнее задание (так как документация к Fenom написана очень хорошо) – изучите синтаксис Fenom, теги и его основные операторы, посмотрите как он похож на Smarty и PHP в целом.
1) Comparison — альтернатива пишется за 30 минут на PHP
2) EasyComm — можно использовать комментарии Tickets
3) mSearch2 — либо писать свой сниппет, либо сделать простой вывод с помощью msProduct
4) msImportExport — написать свой простой обработчик XLS
5) msOptionsPrice2 — некоторые опции можно реализовать с помощью MIGX
6) msOptionColor — можно реализовать с помощью MIGX
7) office — login из официального репозитория
8) msOneClick — обычная форма AjaxForm + FormIt
9) SEOFilter — альтернатив нет