Создание сайтов

Второй курс по созданию сайтов с использованием новых дополнений.

Новый курс обучения

Предлагаю вашему вниманию новый курс занятий, посвященный созданию сайта на MODX Revolution, используя популярные дополнения:

Никаких особых секретов в этом нет, просто подробная пошаговая информация, что как и почему работает, и как лучше делать.

Курс проходит в формате текстовых заметок, которые пишутся 2 раза в неделю, на протяжении месяца — двух. Во-первых, такой формат позволяет получать информацию всем желающим, а во-вторых, занятия корректируются прямо по ходу, в зависимости от ваших отзывов.

Первый курс проходил 8 месяцев назад в таком же формате, и сейчас его можно почитать совершенно бесплатно.

Читать дальше

Принципы шаблонизации MODX

MODX славится тем, что позволяет создавать сайты с любым оформлением. У него нет никаких требований к шаблонам, можно использовать абсолютно любую верстку.

С одной стороны, это очень гибко и круто — и за это MODX любят профессионалы. С другой стороны, нельзя скачать или купить готовый шаблон (на самом деле, сейчас уже можно) и двумя кликами преобразовать свой сайт — и за это MODX боятся новички.

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

Читать дальше

Базовые дополнения: Theme.Bootstrap, MinifyX и немного pdoTools

На прошлом занятии мы разобрались с шаблонизацией MODX, и теперь нам нужно создать собственный шаблон оформления страниц.

По умолчанию MODX Revolution поставляется без ничего. Один стандартный шаблон, который не содержит никакого оформления — и всё! Так сделано потому, что репозиторий MODX содержит тонны готовых дополнений, расширяющих его функционал, и авторы не навязывают ничего пользователю по умолчанию.

Лично я во всех своих сайтах создаю определённую структуру: небольшой шаблон, а в нём вызов чанков Head, Footer, Crumbs и контент. То есть, разделяю элементы сайта по функционалу.

Каждый раз делать одно и тоже мне давно надоело, поэтому я создал себе заготовку с CSS фреймворком Bootstrap. Она устанавливает в систему 2 готовых шаблона и несколько чанков. Также, для обеспечения базовой функциональности, из репозитория скачиваются pdoTools и MinifyX.

Читать дальше

Большой рассказ про pdoTools, часть первая

В этой заметки я хочу наконец-то подробно рассказать, что же на самом деле умеет мой, пожалуй, самый главный компонент для MODX — pdoTools.

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

Понятное дело, что через какое-то время я пришел к универсальным сниппетам «на все случаи жизни», которые и вошли в комплект pdoTools. Про них вы можете почитать на страницах документации, а ниже я расскажу, что же там под капотом.

Вы узнаете, как pdoTools работает с чанками, что такое быстрые плейсхолдеры, как делать выборки из сторонних таблиц, присоединять их в запросы и т.д. В общем, масса полезной информации.

Читать дальше

Большой рассказ про pdoTools, часть вторая

С классами pdoTools и pdoParser мы разобрались на прошлом занятии, а сейчас закроем тему большим рассказом про pdoFetch.

Этот класс предназначен для работы с любыми таблицами базы данных, неважно какими, лишь бы у MODX был к ним доступ и модель.
pdoFetch создаёт запрос и добавляет параметры через xPDO, а выбирает уже через PDO, что даёт защиту, гибкость и скорость.

Давайте посмотрим подробнее, как формируется запрос, и какие параметры на него влияют. Под катом большая простыня текста с кучей рабочих примеров.

Читать дальше

Обзор интерфейса miniShop2

Ну вот и пришла пора установить из репозитория компонент интернет-магазина miniShop2.

Это уже вторая версия моего решения для ведения интернет-коммерции на базе MODX Revolution. Она, конечно, не идеальна, но выгодно отличается от аналогов мощным пользовательским интерфейсом. Причем, судя по регулярным вопросам, которые я получаю, далеко не все знают о его возможностях.

Поэтому, давайте рассмотрим админку miniShop2.

Читать дальше

Вывод каталога товаров и оформление заказа

Ну что, с теорией разобрались, пора приступать к практике.

Сегодня мы создадим несколько товаров, выведем их на сайте, добавим в корзину и оформим. Наверное, этот урок будет интересен только совсем начинающим работать в MODX и тем, кто впервые видит miniShop2.

Итак, все товары miniShop2 должны принадлежать категории товаров — создадим её. Это можно сделать через контекстное меню, или переключением класса имеющегося ресурса:

Категория товаров — это ресурс MODX c необычным внешним видом и свойствами. В первую очередь, конечно, видно что поле content вынесено на вторую вкладку, а на его месте расположена таблица вложенных ресурсов.

Читать дальше

Компонент поиска и фильтрации mSearch2

На прошлом занятии мы рассмотрели простой вывод каталога товаров сниппетами miniShop2. Как мы помним, товары — это расширенные ресурсы MODX, а значит, с ними можно работать и другим сниппетам.

Сегодня мы познакомимся с платным дополнение для MODX, которое осуществляет поиск и фильтрацию любых ресурсов — mSearch2.

Основные особенности:

  • Морфологический поиск сразу на нескольких языках. По умолчанию — русский и английский.
  • Обновление поискового индекса автоматически, при сохранении ресурса в админке.
  • Возможность задать «поисковый вес» каждому индексируемому полю ресурса.
  • Возможность индексации ТВ параметров и комментариев Tickets.
  • Поиск по ресурсам внутри админки сайта.
  • Сохранение поисковых запросов и управление синонимами слов.
  • Автоподсказки и быстрый поиск.
  • Ajax фильтрация результатов поиска с построением прямых url через History Api.
  • Возможность расширения класса фильтрации для прописывания собственной логики.
  • Гибкая работа с шаблонами оформления — для каждого фильтра есть возможность назначить собственные.
  • Высокая скорость работы и поиска, и фильтра.
  • Возможность выводить результаты поиска и фильтрации любыми сниппетами.

Читать дальше

Личный кабинет покупателя Office

Каталог товаров вывели, поиск и фильтрацию установили и настроили, дело осталось только за личным кабинетом для покупателя.

Для этого нужна авторизация, редактирование профиля и вывод заказов, чтобы каждый мог видеть, как там с ними дела. Всё это умеет платный компонент Office, рассказ про который завершает наш курс обучения.

На самом деле, умеет он гораздо больше — на его основе можно программировать любые страницы для взаимодействия с пользователем. Например, у нас он трудится в магазине и на хостинге.

Но это уже для продвинутых пользователей. А мы с вами рассмотрим применение «из коробки». Готовый результат можно посмотреть на демо-сайте.

Читать дальше