Еще в январе я купил пару книг, оплатил аккаунт разработчика iOS и написал своё первое приложение «Hello word!» для iPhone и iPad.
С тех пор я к этой теме не прикасался, потому что был постоянно чем-то занят. На данный момент основные дела закончены:
Хостинг Simple Dream работает и умеет практически всё необходимое
Сообщество modx.pro успешно держится на плаву
Документация docs.modx.pro тоже работает
Магазин-репозиторий Simple Dream успешно помогает всем желающим, техподдержка успешно справляется.
Все мои основные дополнения поддерживают версию MODX 2.3
Курсы обучения по созданию простого сайта на MODX успешно закончены
Наконец-то можно снова попробовать освоить разработку мобильных приложений. Естественно, за самообразование никто не платит, а прибыль от продажи дополнений в магазине и выручка от хостинга меня пока прокормить не могут.
В связи с чем вопрос: если я начну иногда оказывать платные консультации страждущим через Skype — это кому-то интересно? Мне видится это так:
Как известно, недавно я был в отпуске (а кажется, что уже давно) и там была прекрасная история, как Наталья из Сибтура оформляла нам поездку.
Оформляла настолько хорошо, что по возвращению мы накатали ей претензию, где вежливо попросили вернуть нам всякое за нецелевое использование наших денег, нервотрепку, косяки с выдачей документов и задержку вылета более чем на 12 часов.
Наталья обещала подумать и дать письменный ответ как положено, через неделю. Ну а мы, как честные люди, ей поверили. Решили, что если она отказывает в полюбовном разрешении конфликта — подаём исковое заявление в суд.
И вот свежие новости:
Каталог товаров вывели, поиск и фильтрацию установили и настроили, дело осталось только за личным кабинетом для покупателя.
Для этого нужна авторизация, редактирование профиля и вывод заказов, чтобы каждый мог видеть, как там с ними дела. Всё это умеет платный компонент Office, рассказ про который завершает наш курс обучения.
На самом деле, умеет он гораздо больше — на его основе можно программировать любые страницы для взаимодействия с пользователем. Например, у нас он трудится в магазине и на хостинге.
Но это уже для продвинутых пользователей. А мы с вами рассмотрим применение «из коробки». Готовый результат можно посмотреть на демо-сайте.
На прошлом занятии мы рассмотрели простой вывод каталога товаров сниппетами miniShop2. Как мы помним, товары — это расширенные ресурсы MODX, а значит, с ними можно работать и другим сниппетам.
Сегодня мы познакомимся с платным дополнение для MODX, которое осуществляет поиск и фильтрацию любых ресурсов — mSearch2.
Основные особенности:
Морфологический поиск сразу на нескольких языках. По умолчанию — русский и английский.
Обновление поискового индекса автоматически, при сохранении ресурса в админке.
Возможность задать «поисковый вес» каждому индексируемому полю ресурса.
Возможность индексации ТВ параметров и комментариев Tickets.
Поиск по ресурсам внутри админки сайта.
Сохранение поисковых запросов и управление синонимами слов.
Автоподсказки и быстрый поиск.
Ajax фильтрация результатов поиска с построением прямых url через History Api.
Возможность расширения класса фильтрации для прописывания собственной логики.
Гибкая работа с шаблонами оформления — для каждого фильтра есть возможность назначить собственные.
Высокая скорость работы и поиска, и фильтра.
Возможность выводить результаты поиска и фильтрации любыми сниппетами.
Ну что, с теорией разобрались, пора приступать к практике.
Сегодня мы создадим несколько товаров, выведем их на сайте, добавим в корзину и оформим. Наверное, этот урок будет интересен только совсем начинающим работать в MODX и тем, кто впервые видит miniShop2.
Итак, все товары miniShop2 должны принадлежать категории товаров — создадим её. Это можно сделать через контекстное меню, или переключением класса имеющегося ресурса:
Категория товаров — это ресурс MODX c необычным внешним видом и свойствами. В первую очередь, конечно, видно что поле content вынесено на вторую вкладку, а на его месте расположена таблица вложенных ресурсов.
Ну вот и пришла пора установить из репозитория компонент интернет-магазина miniShop2.
Это уже вторая версия моего решения для ведения интернет-коммерции на базе MODX Revolution. Она, конечно, не идеальна, но выгодно отличается от аналогов мощным пользовательским интерфейсом. Причем, судя по регулярным вопросам, которые я получаю, далеко не все знают о его возможностях.
Поэтому, давайте рассмотрим админку miniShop2.
С классами pdoTools и pdoParser мы разобрались на прошлом занятии, а сейчас закроем тему большим рассказом про pdoFetch.
Этот класс предназначен для работы с любыми таблицами базы данных, неважно какими, лишь бы у MODX был к ним доступ и модель.
pdoFetch создаёт запрос и добавляет параметры через xPDO, а выбирает уже через PDO, что даёт защиту, гибкость и скорость.
Давайте посмотрим подробнее, как формируется запрос, и какие параметры на него влияют. Под катом большая простыня текста с кучей рабочих примеров.
В этой заметки я хочу наконец-то подробно рассказать, что же на самом деле умеет мой, пожалуй, самый главный компонент для MODX — pdoTools.
Изначально он не задумывался, как набор универсальных сниппетов, нет. Он должен был стать набором классов, на основе которых программисты могли бы разрабатывать собственные сниппеты. Однако, идея не прижилась, и сниппеты на нём разрабатывал один я.
Понятное дело, что через какое-то время я пришел к универсальным сниппетам «на все случаи жизни», которые и вошли в комплект pdoTools. Про них вы можете почитать на страницах документации, а ниже я расскажу, что же там под капотом.
Вы узнаете, как pdoTools работает с чанками, что такое быстрые плейсхолдеры, как делать выборки из сторонних таблиц, присоединять их в запросы и т.д. В общем, масса полезной информации.
На прошлом занятии мы разобрались с шаблонизацией MODX, и теперь нам нужно создать собственный шаблон оформления страниц.
По умолчанию MODX Revolution поставляется без ничего. Один стандартный шаблон, который не содержит никакого оформления — и всё! Так сделано потому, что репозиторий MODX содержит тонны готовых дополнений, расширяющих его функционал, и авторы не навязывают ничего пользователю по умолчанию.
Лично я во всех своих сайтах создаю определённую структуру: небольшой шаблон, а в нём вызов чанков Head, Footer, Crumbs и контент. То есть, разделяю элементы сайта по функционалу.
Каждый раз делать одно и тоже мне давно надоело, поэтому я создал себе заготовку с CSS фреймворком Bootstrap. Она устанавливает в систему 2 готовых шаблона и несколько чанков. Также, для обеспечения базовой функциональности, из репозитория скачиваются pdoTools и MinifyX.
MODX славится тем, что позволяет создавать сайты с любым оформлением. У него нет никаких требований к шаблонам, можно использовать абсолютно любую верстку.
С одной стороны, это очень гибко и круто — и за это MODX любят профессионалы. С другой стороны, нельзя скачать или купить готовый шаблон (на самом деле, сейчас уже можно) и двумя кликами преобразовать свой сайт — и за это MODX боятся новички.
Если вы знаете HTML хоть немного, то у вас не будет никаких проблем с оформлением сайта на MODX, и сейчас мы разберем это на реальных примерах. Конечно, чтобы нам было веселее, работать будем на самой свежей версии MODX 2.3.1, которая вышла сегодня ночью.
Предлагаю вашему вниманию новый курс занятий, посвященный созданию сайта на MODX Revolution, используя популярные дополнения:
Никаких особых секретов в этом нет, просто подробная пошаговая информация, что как и почему работает, и как лучше делать.
Курс проходит в формате текстовых заметок, которые пишутся 2 раза в неделю, на протяжении месяца - двух. Во-первых, такой формат позволяет получать информацию всем желающим, а во-вторых, занятия корректируются прямо по ходу, в зависимости от ваших отзывов.
Первый курс проходил 8 месяцев назад в таком же формате, и сейчас его можно почитать совершенно бесплатно.
В первый день наш турагент предложил купить нам несколько туров, и мы выбрали 2 обзорных: по Анталии и Алании. Город Сиде, в котором мы проживали, находится ровно посередине между ними.
Цена на Анталию $20, а на Аланию — $45. И это, вроде как, даже не за саму поездку, а за обед в ресторане. Учитывая, что из отеля забирают в 8 утра, а привозят в 7 вечера — непонятно, почему такие смешные расценки. По идее, за один бензин нужно больше платить.
Но все становится очевидным, когда узнаёшь, что это не просто обзорный тур, а шоппинг-тур! То есть, целый автобус отдыхающих и, наверняка, небедных людей возят по городу и забрасывают во вполне определенные магазины драгоценностей, меха\кожи, текстиля, ну и в ресторане напитки платные.
Выходит, что наш тур оплачивают магазины, которым привозят клиентов, а там их уже уговаривают покрыть все расходы с лихвой. Подход интересный, и отлично работает.