miniShop2. Modx pro
О проекте / docs.modx.pro
Последние обновления
06 августа 2018, 11:31 О проекте
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoResources
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoMenu
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoPage
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoCrumbs
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoUsers
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoSitemap
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoNeighbors
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoField
06 августа 2018, 11:31 Компоненты / pdoTools / Сниппеты / pdoTitle
Open Source документация MODX Revolution, распространяемая через GitHub.
Для того, чтобы внести свой вклад в развитие документации, вам нужно просто сделать pull-request в репозиторий.
Такая организация гарантирует:
- Сохранение истории всех изменений.
- Использование простого языка разметки Markdown.
- Возможность не переживать за проект - вы всегда можете запустить копию у себя.
Идея
Сам принцип подсмотрен у проекта daux.io, который генерирует сайт налету по статичным страницам. Для работы нужен только его скрипт и директория с определённой структурой и файлами в формате Markdown.
Однако, на мой взгляд у daux.io есть несколько серьёзных недостатков:
- Неудобное управление шаблоном.
- Отсутствие мультиязычности в оформлении страниц.
- Нет кэширования, неизвестно каких объемов документацию он потянет.
- Нет встроенного поиска.
- Нет перенаправления с одного адреса на другой, при переносе документа.
- Довольно много ошибок в коде.
В общем, для небольших объёмов это хорошее решение, но для нашего проекта мы используем MODX.
Принцип остаётся тот же: директория с файлами Markdown, из которых строится сайт. Но теперь это самостоятельный сайт, со всеми наворотами, который обновляет свои страницы из GitHub. Мы избавились от всех недостатков daux.io и добавили преимущества MODX.
Правила оформления документации
Структура
Формат репозитория определяется следующей структурой:
- Языковая версия
- Раздел
- Тема
- Дальше структура определяется в зависимости от темы
- Чтобы указать порядок директорий и файлов, мы используем числовые префиксы.
Вот путь к файлу с описанием сниппета HybridAuth на русском:
/ru/02_Компоненты/04_HybridAuth/01_Сниппеты/01_HybridAuthЗаголовки
Для заголовков мы используем хештэги ## и между ними и текстом ставим пробел. Например: ## Заголовок
Заголовки должны быть не больше h3, то есть, 2 решетки ##:
- h3 = ##
- h4 = ###
- h5 = ####
Между заголовком и текстом сверху оставляется одна пустая строка. Между заголовком и текстом снизу отступов делать не нужно.
Ссылки
Ссылки на документы нужно проставлять в конце страницы, чтобы их было удобно искать и обновлять. В markdown это делается так:
[Название ссылки][1] [Название другой ссылки][2] [1]: http://mylink.com/ [2]: http://mylink.com/test.htmlПомимо прочего, это позволяет использовать одну ссылку несколько раз на странице:
[Ссылка 1][1] [Ссылка 2][1] [1]: http://mylink.com/Проще всего открывать нужную страницу на GitHub и копировать адрес из url.
Ссылки на изображения можно вставлять сразу в тексте. Для указания изображений лучше использовать сервис на file.modx.pro (требует авторизацию). Он автоматически сгенерирует уменьшенную копию и код markdown для вставки.
[![](https://file.modx.pro/files/8/5/3/85333575318f1fb2e7fe2881eb25559as.jpg)](https://file.modx.pro/files/8/5/3/85333575318f1fb2e7fe2881eb25559a.png)Выделение
Cистемные параметры нужно выделять жирным текстом, например: **¶metr** будет выглядеть, как ¶metr.
Плейсхолдеры оборачиваются в одинарные обратные апострофы. Например: `[[+placeholder]]` будет выглядеть, как [[+placeholder]].
Для обрамления кода нужно использовать 3 обратных апострофа ``` перед секцией кода, и после:
``` Здесь код ```Перенос строки
Для принудительного переноса строки нужно добавить 2 пробела на конце. Парсер заменит их на тег br.
Таблицы
Вы можете использовать таблицы для удобного отображения различных данных, например параметров какого-то сниппета:
First Header | Second Header ------------- | ------------- Content Cell | Content Cell Content Cell | Content CellContent Cell | Content Cell |
Content Cell | Content Cell |
Основы Markdown
Подробная документация на сайте у автора.
Обратите внимание, что на этом сайте используется Markdown Extra, в котором можно использовать таблицы и другие навороты.
Проверить, как будет выглядеть ваш документ можно на bezumkin.ru/utils/markdown.
docs.modx.pro
miniShop2 / Каталог, Поиск, Фильтрация / Дополнения MODX / modstore.pro
Внимание, этот компонент требует версию PHP 5.3 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
Custom Resources Classes
Самый главный момент, который даёт всё остальное — это CRC. Отсюда собственные страницы категорий, товаров, правила создания, требования прав и т.д. и т.п.Страницы кастомизируются. То есть, в настройках miniShop можно указать где и какие поля отображать, что в таблице товаров категории, что в странице редактирования самого товара. Эта фишка, возможно, перекочует в ресурсы самого MODX.
Для узких экранов есть возможность перенести табы страницы слева вверх.
Табы товара и таблица категории запоминают своё состояние. Вы можете нажимать F5, ходить туда-сюда, они будет вам усердно помогать.
Переосмыслил старые привычные кнопки справа вверху, теперь там есть быстрый переход по соседним ресурсам быстрое удалениепубликация товара. Иконки на кнопках — glyphicons из Bootstrap.
Работа с мультикатегориями в miniShop сделана в виде дерева — так гораздо удобнее.
У товаров стало значительно больше параметров, и в будущем их можно будет расширять специальными плагинами.
Галерея товара
MiniShop нацелен на скорость, поэтому мне пришлось взять работу с изображениями в свои руки. Ведь, всем известно, как сильно тормозит сайт на MODX при использовании phpthumbof и кучи фотографий с динамической генерацией уменьшенных копий.Итак, галерея товара. — Flash загрузчик через кнопку. — Html5 загрузчик через drag-n-drop. — Работа через media sources. — Автоматическая генерация thumbnails заданных параметров. — Редактирование имени и описания. — Сортировка перетаскиванием. Первое изображение — основное для товара.
То есть, теперь phpthumbof не нужен. Все предпросмотровые картинки генерируются при загрузке изображения. Вы можете указать нужные параметры в настройке источника файлов (для MS устанавливается свой, конечно). При изменении параметров можно перегенерировать превьюшки для всех картинок товара сразу.
Фронтенд
MiniShop использует только свои modx сниппеты, работающие через pdoTools, что даёт нам повышенную скорость и кастомизацию. Вы можете легко переименовать стандартный modx сниппет, поменять под себя его логику и использовать. Благодаря pdoTools особо напрягаться при переделке не придётся.В комплекте идут modx сниппеты для вывода картинок, каталога товаров, их опций и корзины.
Все нужные стили и скрипты подключаются автоматически. Первичная настройка интернет-магазина на MODX Revo займёт от силы 10 минут.
Теги: шаблон интернет магазина MODX, modx сниппеты, сайты на modx
modstore.pro
mSearch3 / Каталог, Поиск, Фильтрация / Дополнения MODX / modstore.pro
Версия 1.11.0-pl
Дата выпуска 11.04.2018
Просмотры 18 466
Внимание, этот компонент требует версию PHP 5.3 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
- Поддерживается сколько угодно словарей одновременно, по умолчанию: русский и английский.
- Базовые формы слов (поисковый индекс) хранятся отдельно, с учётом их количества и веса в документе.
- Можно индексировать комментарии Tickets
- Индексируются любые поля CRC, наравне с обычными. В том числе, конечно и свойства товаров miniShop2.
- Высокая скорость работы при выводе результатов, за счёт использования pdoTools.
- Собственный раздел в менеджере, для индексации и внутреннего поиска.
- Улучшенный алгоритм поиска и подсветки результатов.
- Отдельно настраивается вес слова в каждом поле ресурса.
- Настраивается бонус за точное нахождение запроса в документе.
- Настраивается бонус за нахождение всех слов запроса в документе.
pdoTools / Утилиты / Дополнения MODX / modstore.pro
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
pdoTools — это набор удобных сниппетов для повседневной работы + небольшая библиотека, которая делает их очень быстрыми.Благодаря использованию общей библиотеки, все сниппеты pdoTools обладают единым минимальным функционалом:
- Все запросы в БД работают через PDO. Объекты xPDO не создаются, только если они действительно не нужны.
- Предварительная обработка простых плейсхолдеров в чанках. Парсер MODX разбирается только со сложными вызовами.
- Правильная сортировка, подготовка, обработка и вывод ТВ параметров.
- Код чанков можно указывать прямо при вызове сниппета, загружать обычным образом или из статичных файлов.
- «Быстрые плейсхолдеры» в чанках, которые заменяют фильтры типа «isempty» и оборачивают значения в теги только если те не пусты.
- Ведение подробного журнала работы сниппета с отметками времени, для отладки.
В состав входят:
- pdoResources — Очень быстрая замена для getResources, совместимая по параметрам.
- pdoMenu — Замена для Wayfinder, строит меню.
- pdoUsers — Выборка и вывод пользователей сайта, с фильтрацией по ролям и группам.
- pdoCrumbs — Хлебные крошки, замена BreadCrumb.
- pdoSitemap — Быстрая генерация карты сайта, замена GoogleSiteMap.
- pdoNeighbors — Вывод ссылок на соседние документы.
- pdoField — Вывод любого поля документа, замена getResourceField и UltimateParent.
- pdoPage — Постраничный вывод результатов, замена getPage.