Обучение 31.01.2019 11094 1 минута

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

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

Шаблон 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
5
1
0
Петропавловский Артем
Автор Петропавловский Артем

Основатель и ведущий разработчик DART Agency. Пишу о разработке, продажах и процессах в IT.

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

  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
            Конечно, можно) способов реализации куча. Но сервером всё равно придётся обрабатывать

          Заказать звонок

          Оставьте контакты — мы перезвоним в течение 30 минут