Андрей Шевяков

Андрей Шевяков

С нами с 28 сентября 2016; Место в рейтинге пользователей: #45

Редирект URL со слэшем в конце на без слэша

Это не вопрос, а решение.
Ниже код плагина, который решает задачу: редирект URL со слэшем в конце на URL без слэша в конце.
Гугл/яндекс в течение часа дал ответ на обратную задачу (редирект без слэша в конце на со слэшем).
Делюсь доработкой с надеждой, что это вылезет в топ и поможет сохранить время следуюшим поколениям :)
Также сделаны настройки по пунктам 1-6 отсюда.

Плагин настраивается на событие OnLoadWebDocument:

<?php
if ($modx->event->name == 'OnLoadWebDocument') {
  $request = $_SERVER['REQUEST_URI'];
  $params = '';
  if (strpos($request, '?') !== false) {
  	list($request, $params) = explode('?', $request);
  }
  $uri = $request;
  if(!empty($uri) && strpos($uri, '.') === false && substr($uri, -1, 1) == '/') {
    $uri = substr($uri, 0, -1);
    if (!empty($params)) {
      $uri .= '?' . $params;
    }
    $modx->sendRedirect($uri, array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
  }
}
Мартин Очоа
18 июля 2017, 21:19
modx.pro
5
6 635
+1

Страницы - поддомены

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

Позволяет использовать обычные страницы в качестве поддоменов, примеры:

mysite.ru/test — Изначальный адрес.
test.mysite.ru — Новый адрес с поддоменом.

Также работает и с дочерними страницами, примеры:

mysite.ru/test/page.html — Изначальный адрес.
test.mysite.ru/page.html — Новый адрес с поддоменом.
Олег
18 июля 2017, 07:47
modx.pro
23
7 529
+10

[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой

Пакет довольно прост и одновременно функционален. Выполняет систему рейтинга для любого объекта, по-умолчанию, для ресурсов. Чем-то напоминает систему лайков на YouTube, в частности, в пакете реализован оптимистичный интерфейс.


Также, особенностью компонента является правильный подсчет рейтинга на основе вычисления нижней границы доверительного интервала Вильсона для параметра Бернулли. По-простому: эта формула не даст встать новым записям с 1 лайком и 0 дизлайками выше более старых записей с сильным рейтингом.

Список преимуществ:
  1. Оптимистичный интерфейс,
  2. Наиболее правильная формула вычисления рейтинга,
  3. Работа с любыми объектами (modResource, modUser, кастомные объекты),
  4. Голосование гостями,
  5. Анимированное изменение полосы/числа рейтинга,
  6. Событие плагина — xLikeOnVote.
Павел Гвоздь
16 июля 2017, 18:05
modx.pro
18
12 861
+34

Показать анимацию до момента отправки заказа

Здравствуйте!
После нажатия на кнопку отправки заказа ([!msOrder?]]) до момента уведомления об успешном заказе ([[!msGetOrder]]) на сайте проходит примерно 2 секунды, подскажите пожалуйста, как добавить в этот промежуток времени показ какой-нибудь анимации (гифки, например), клиенту, чтоб не было возможности нажать кнопку отправки заказа 100500 раз?

Может посоветуете другие варианты решения проблемы? Оптимизация работы дополнения или запрет отправки нескольких заказов в течение 5 секунд?

Вызываю сниппеты в шаблоне корзины.
[[!msCart?tpl=`my.tpl.msCart`]]
[[!msOrder?tpl=`my.tpl.msOrder`]]
[[!msGetOrder?tpl=`my.tpl.msGetOrder`]]

Чанки:
Павел Мезенцев
14 июля 2017, 19:25
modx.pro
5
2 093
0

Как мы подключали онлайн-кассу в Modstore/Modhost


Привет, друзья!

Сегодня мы расскажем о нашем опыте внедрения онлайн-кассы в маркетплейсе modstore.pro и хостинге modhost.pro.
Опишем всю цепочку — от выбора кассы и заключения договора до интеграции и первых пробитых чеков.
Leonid Krylov
14 июля 2017, 06:34
modx.pro
9
13 725
+19

pdoSitemap: автоматическое добавление в sitemap

Здравствуйте.

XML карту сайта сделал через pdoSitemap.
Сейчас после добавления или удаления документа, чтобы изменения отразились в карте сайта, необходимо кэш сайта чистить.
Нельзя ли задать какое-то правильно или плагин, чтобы при изменении состояния ресурса:
добавление ресурса
публикация или снятие с публикации
удаление ресурса
Карта обновлялась автоматически?

В документации к данному дополнению ничего такого нет, в инете искал ответ на вопрос, но тоже тишина.
Скаут
11 июля 2017, 10:04
modx.pro
1
1 743
0

[ExtJS] Расширяем нативную гриду юзеров


После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное уметь пользоваться «методом тыка» понимать принцип того, что делаешь. Что-ж… давайте расширять нативную таблицу пользователей!
Сразу опишем задачу, которую реализуем в рамках статьи:

  1. Убрать слева каждой записи ненужный чекбокс,
  2. Добавить столбцы: Фото, Дата рождения, Страна, Город,
  3. Добавить возможность отфильтровать пользователей по стране,
  4. Заменить некрасивое поле поиска на симпатичное и компактное,
  5. Подсветить заблокированных красным цветом.
Павел Гвоздь
07 июля 2017, 19:14
modx.pro
45
6 059
+21

Как установить шаблон для дочерних ресурсов?

Добрый день, коллеги!
Собсно сабж.
Видел такое в Collections, но не ставить же её ради одной фичи…
Заранее спасибо.
Серый
06 июля 2017, 11:27
modx.pro
3
4 308
0

DiscountMS2 - Скидки для категорий товаров

Поздравляю всех (или сочувствую всем, спорный вопрос) с началом новой рабочей недели!
Наклепал свой первый более-менее серьезный компонент, хочу представить на суд общественности.

Компонент предназначен для выставления скидки внутри категорий. Поддерживает мультикатегории и указание глубины поиска товаров.

Есть возможность указания скидки как со страницы компонента, так и через TV.

Вот так выглядит страница в админке:



Вот так — указание скидки через ТВ:



Добавление новой скидки:



Олег
03 июля 2017, 12:43
modx.pro
3
2 027
+12

Сообщество экспертов, образовательная платформа

Добрый день. Предлагаю вашему вниманию проект, который сейчас находится в стадии бета-тестирования.
Идея: универсальная площадка для коммуникаций, обмена опытом и знаниями.
В будущем – образовательная платформа.
Andrei D.
28 июня 2017, 09:04
modx.pro
3
3 159
+10