FENOM'енальный курс. Часть 1. Базовая настройка сайта.

31.01.2019
9734
Шаблон MAGAZINE вы можете скачать по ссылке.

Приветствую вас, дорогие друзья! На связи Петропавловский Артем! По многим просьбам трудящихся я запускаю курс по разработке интернет-магазина с помощью шаблонизатора 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 очень велика.

Итак, я думаю, что вам нужно рассказать, как мы будем действовать по ходу разработки.

  1. Мы с вами будем использовать файловые элементы: шаблоны, чанки, сниппеты, плагины.
  2. Будем писать код PHP, используя API MODx.
  3. Нам с вами придется соприкоснуться с той информацией, которая была в прошлых курсах, но от этого нам никуда не деться.
  4. Будут вещи, которые я расскажу только в видео и наоборот распишу только в статьях, поэтому вам нужно быть внимательными.
  5. В конечном итоге мы с вами получим полностью функциональный интернет-магазин.

На этой ноте я вам предлагаю закончить первую часть и незамедлительно приступить к самому интересному. А пока я дам вам домашнее задание (так как документация к Fenom написана очень хорошо) – изучите синтаксис Fenom, теги и его основные операторы, посмотрите как он похож на Smarty и PHP в целом.

FENOM'енальный курс. Часть 1. Базовая настройка сайта.

0 Число голосов: 10
5
5
1
10

Комментарии ()

  1. Алексей 21 февраля 2019, 23:45 # 0
    Может я упустил где вы упомянули.Почему феном? Где критические моменты чтобы задуматься о fenom?
    1. Петропавловский Артем 22 февраля 2019, 08:02(Комментарий был изменён) # 0
      Fenom позволяет сократить количество используемых чанков и очень удобен, так как в чанках можно реализовывать гораздо больше действий (взять к примеру циклы или доступ к GET, POST, SESSION, REQUEST, SERVER и другим массивам). Также к плюсам можно отнести увеличение производительности (заметно на крупных проектах, в документации к нему приведены примеры метрик) и более читабельный код (к примеру возьмите конструкцию ветвления на обычном парсере и сравните ее с Fenom). К сожалению, в данный момент не все компоненты поддерживают Fenom, так как вызывают методы обработки чанков и тегов из ядра системы. Поэтому мы в любом случае будем использовать стандартный синтаксис и Fenom вместе.Просто нужно попробовать, даже ради того, чтобы расширить свои знания.
    2. Алексей 21 февраля 2019, 23:46 # 0
      Почему переходить на феном?
      1. Дмитрий 29 августа 2019, 10:30 # 0
        Не могу почему то вам на почту написатьнапишите на почту samarin878@yandex.ru альтернативы всё, что используете в платном варианте
        1. Петропавловский Артем 29 августа 2019, 10:43(Комментарий был изменён) # 0
          Список бесплатных альтернатив:
          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 — альтернатив нет
        2. Дмитрий 20 января 2023, 20:16 # 0
          Comparison можно на js сделать)
          1. Петропавловский Артем 20 января 2023, 20:45 # 0
            Конечно, можно) способов реализации куча. Но сервером всё равно придётся обрабатывать

          Наши клиенты

          Многие компании уже доверяют нам. Будьте в их числе!

          Хотите реализовать проект?

          Контакты

          Напишите нам - мы расскажем вам много интересного!


          Пермь, шоссе Космонавтов 252, офис 218