Пошаговые инструкции

Как стать контрибьютором MODX

(Перевод руководства по отлову багов)


Это руководство написано для участников MODX Bug Hunt. Мероприятие уже завершено, если вы его пропустили, информацию можно найти на официальном сайте modxbughunt.com.

1. Инструменты


  • Интерфейс с командной строкой (Терминал, iTerm и пр.)
  • Git, установленный на вашей системе
  • PHP Storm или другой клиент. Пожалуйста, убедитесь, что вы используете 4 пробела для отступов, а не табы.
  • Любой веб-сервер. Желательно, чтобы на борту был Apache или NGINX. Мы используем Vagrant. Или можно взять на вооружение MAMP или XAMPP.
Илья Уткин
05 марта 2017, 11:15
modx.pro
5
1 739
+20

Вариант определения мобильных устройств

Хочу поделиться своей практикой определения типа устройства, будь то мобильный гаджет или компьютер для тонкой настройки CSS и JS.

Сразу хочу уточнить, что данная заметка к MODX особенного отношения не имеет. Это просто JS и CSS, но надеюсь, что все таки будет полезна читателям.
Николай Савин
16 февраля 2017, 09:39
modx.pro
17
12 792
+9

[msPromoCode] Кейс. Вывод информации по промо-коду в письме


Часто слышу вопрос о выводе промо-кода и информации по скидке в письме пользователю/менеджеру. На самом деле такая возможность есть уже давно, хоть и не совсем явным образом бросается в глаза. Делается это в 2 простых шага, которые описаны ниже.
Павел Гвоздь
26 декабря 2016, 09:25
modx.pro
10
1 723
+10

modMonitor. Кейс: поиск причины сброса кеша

Вот сейчас мне модмонитор сохранил кучу времени и нервных клеток. Хочу поделиться этим кейсом, так как он раскрывает весьма неочевидные, но при этом очень мощные возможности данного компонента.

Предыстория: клиент пишет, что показатели сайта в тестах гугла PageSpeed Insights низкие. Полез проверять. Обратил внимание, что гугл жалуется на долгий ответ от сервера (1.3 сек). Я удивился, так как перед тестом специально захожу на главную страницу, чтобы она закешировалась. Но нет, с каждым тестом как минимум на одной из версий (мобильной и обычной) долгий ответ. Здесь еще тонкость в том, что на сайте реализована отдельно мобильная версия и кеш у них раздельный. Полез опять в админку, проверяю настройки кеша где можно — везде все ОК. При этом проверяю кеш-файлы — а они постоянно сбрасываются, то есть для двух-трех документов они создаются, а потом сбрасываются.
Fi1osof
15 ноября 2016, 02:08
modx.pro
1
1 291
+8

Минутка грамотности

Честно говоря, я вовсе не мастер русского языка, в школе перебивался с тройки на четвёрку. Но то, что я вижу в наших комментариях, просто приводит в уныние.

Давайте постараемся писать хоть немного грамотнее, всего несколько пунктов.

1. Самое наболевшее: тся\ться. Настолько всем надоело, что даже запустили отдельный сайт.
Ь ставится:

— В неопределённой форме глагола (инфинитиве): умывать(ся), беречь(ся).
— В окончании 2-го лица единственного числа настоящего или будущего времени: умываешь(ся), бережёшь(ся).
— После согласных (кроме «й» и «г» – ляг(те)) в формах повелительного наклонения: исправь(те).
— В возвратной частице (суффиксе), стоящей после гласного звука: вернусь, вернитесь, вернулись, вернувшись.

В остальных случаях в глагольных окончаниях ь не ставится: он пошёл умываться, но: он умывается
Василий Наумкин
31 октября 2016, 07:47
modx.pro
2
2 397
+23

Короткие ссылки средствами modx

Запрос на помощь вылился в готовый результат.

Пример основной задачи — реализация сайта с кириллическим именем домена, и ссылками так же на кириллице. Типа: сайт.рф/каталог/ресурс

Выглядит красиво, доступно, запоминается, и говорят — полезно для СЕО. Но появилась проблемка, связанная с тем, что при попытке поделиться урлом, порой выводится неудобноваримая ссылка из кучи непонятных символов. Что нибудь типа такого:
Александр Н
10 октября 2016, 21:56
modx.pro
10
2 848
+7

Как прикрепить изображение к комментарию?


Как загрузить изображение на сервер и прикрепить его к комментарию в Tickets?

Написал плагин загрузки фотки и обрезки её с помощью встроенного в MODX phpThumb (спасибо Василию за готовый код, который я только кастомизировал под мои нужды).

Перенёс в категорию "Пошаговые инструкции", т.к. вопрос превратился в конкретную инструкцию.

Запишу эту инструкцию для себя будущего, может и кому-нибудь ещё понадобится…
Василий Столейков
06 октября 2016, 19:12
modx.pro
15
2 258
+3

[ExtJS] Расширяем компонент Collections



Часто ли вам приходится расширять какие-то стандартные штуки в MODX или в компонентах для него? Мне вот часто! Поэтому, давно хотелось поделиться чем-нибудь интересным на этот счёт, что я собственно и сделал в статье Дополнительные поля профиля юзера, где описал, как можно расширить профиль юзера, чтобы всё выглядело натурально. На этот раз расскажу, как можно расширять компонент Collections, не прибегая к крайним мерам, вроде правки исходников приложения.
Павел Гвоздь
27 сентября 2016, 21:34
modx.pro
27
3 647
+19

Модификатор ':mod' на Fenom

У MODX есть встроенный модификатор mod: [[+number:mod]]
modulus,mod — Возвращает модуль числа (по умолчанию: %2, возвращает 0 или 1).

На Fenom не нашел такого модификатора, и пришлось повторить его логику создав собственный модификатор, может кому-нибудь пригодится.
Василий Столейков
18 августа 2016, 12:14
modx.pro
8
2 741
+2

Сортировка и гибкая выборка по комментариям

После моих неудачных попыток приджойнить на лету нужное мне количество комментариев и сортировать по ним, пришлось идти другим путём.

Минусы джойна не давали нормально работать:
  1. Невозможность выбрать только тикеты, у которых комментариев >= 10
  2. Невозможность подсчитать только комментарии первого уровня (в моём случае это количество вопросов без ответов) и сортировать по ним
  3. При загрузке страницы и при пролистывани через пагинацию подгружались разные тикеты и сортировались по разному.
  4. Приходилось выбирать все тикеты, и в чанке через условие прятать те, у которых комментариев < 10
  5. Отсюда приходилось и пагинацию делать на костылях
В итоге перешел к варианту «Б»:
  1. Создаём расширенное поле в БД (можно и тв-шку использовать, но так оптимальнее)
  2. Создаём плагин для нового поля (или дописываем существующий, если расширенные поля уже имеются).
  3. Создаём плагин для копирования количества комментариев в наше созданное поле с учётом нужных нам условий выборки.
  4. Импортируем все существующие уже комментарии
  5. Исправляем вызовы сниппетов и чанков
Василий Столейков
22 июля 2016, 05:46
modx.pro
5
1 607
+10