Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68

Отдельное TV для определенного контекста

Народ, подскажите, как для контекста сделать TV, чтобы у документов с аналогичным шаблоном в другом контексте его не было видно?
Murashkin
29 июня 2018, 18:03
modx.pro
2
798
0

Региональный сайт слетают стили и скрипты

Добрый день, есть региональный сайт на пару десятков городов, города реализованы через контексты, для переключения контекстов использую плагин:
<?php
// Работаем только на фронтенде и только с friendly urls
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr' || !$modx->getOption('friendly_urls')) {return;}
 
// Получаем запрашиваемый url
$alias = $modx->getOption('request_param_alias', null, 'alias', true);
$request = &$_REQUEST[$alias];
 
// Выбираем контексты с настройкой base_url
$q = $modx->newQuery('modContextSetting', array('key' => 'base_url', 'value:!=' => ''));
$q->select('context_key,value');
 
$contexts = array();
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
    // Учитываем наш запрос в БД
    $modx->queryTime += microtime(true) - $tstart;
    $modx->executedQueries++;
    // Разбираем результаты
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        $base_url = trim($row['value'], '/');
        $context = $row['context_key'];
        // Если запрос начинается с base_url какого-то контекста
        if (preg_match('/^('.$base_url.')\//i', $request)) {
            // То переключаемся на этот контекст
            // Web инициализируется в index.php - на него переключаться не нужно
            if ($context != 'web') {
                $modx->switchContext($context);
            }
            // Вырезаем base_url из запроса, чтобы MODX нашел ресурс по uri
            $request = preg_replace('/^'.$base_url.'\//', '', $request);
            // Дело сделано - выходим из цикла
            break;
        }
    }
}
Проблема в том, что при переключении контекстов слетают все стили, скрипты и картинки, так как путь к папке assets подставляется с url контектса, подскажите, как мне перенаправить все запросы на эту папку так, чтобы все отображалось?
Виктор Лобанов
28 июня 2018, 09:07
modx.pro
1
1 003
0

[xParser] 1.6.3 События плагинов для кастомной логики и код ответа сервера


Пакет приобрёл 3 события плагинов и научился запоминать код ответа сервера при обращении к УРЛ.
Это круто по ряду причин:
  • Можно внедрить свою логику в процесс парсинга,
  • Можно совершать кастомные действия на сайте, в зависимости от получаемых данных при парсинге,
  • К примеру, если сервер отдал 301/302 редирект или 404 ошибку при обращении к УРЛу подзадания, то мы можем отключить этот ресурс с публикации вовсе.
  • Всё ограничивается вашей степенью извращённости фантазией!
Павел Гвоздь
25 июня 2018, 18:31
modx.pro
1
1 600
+3

Есть ли пример добавления скриптов AjaxForm в require.js?

Добрый день, друзья!
Пытаюсь реализовать асинхронную загрузку скриптов на сайте.
Вопрос есть ли примеры добавления скриптов AjaxForm в require.js?
nuraksha
21 июня 2018, 12:10
modx.pro
1
1 198
0

[ResourceGrabber] - парсинг данных по ссылке.

[ResourceGrabber] — Компонент реализует функционал парсинга данных по ссылке.
За сравнительно короткий промежуток времени позволяет скопировать большой объем данных с одного сайта на другой. Чтобы упростить процесс, предусмотрены специальные сниппеты, позволяющие получать нужную вам информацию. Может применяться как для всего контента, так и для определенного: картинки, текст и т.д.


Особенности
— интеграция с miniShop2 (создание/ обновление товаров) мин. версия 2.4.0
— интеграция с CurrencyRate. (модификация цен)
— интеграция с msOptionSeller (задание опции Магазин товара minishop2)

Демо
Протестировать дополнение на демо сайте
Документация docs.modx.pro/components/resourcegrabber/
Купить дополнение в modstore.pro
Володя
20 июня 2018, 10:17
modx.pro
6
3 869
+9

Как сделать вложенные TV MIGx и как это потом вывести с помощью fenom

Доброе утро сообщество!
Сегодня у меня день рождения, а значит замечательный день чтобы написать новую заметку =)
Итак, буквально недавно столкнулся с задачей вывести несколько аккордеонов подряд, причем каждый их которых должен иметь собственный заголовок. Решено для этого было использовать вложенные TV типа MIGx. Подробности под катом.
Sergey Leleko
08 июня 2018, 04:54
modx.pro
9
3 698
0

Обязательно одно из двух полей

Мне нужно чтоб было обязательно заполнено или поле телефон или поле email
Одно из двух
есть ли у FormIt такая проверка?
Вася
07 июня 2018, 14:44
modx.pro
1
785
0

Сайт доставки еды



Приветствую всех!
Меня зовут Андрей и я представляю наш проект — магазин шаблонов и готовых сайтов ULTRON.
Сегодня мы добавили на сайт новый сборку — сайт-шаблон для службы доставки еды.

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

Вёрстка адаптивная, используется фреймворк bootstrap3.

Функционал сайта разрабатывался с учетом особенностей тематики доставки и заказа еды онлайн.

Из ключевых особенностей можно выделить следующее:

  • функционал магазина работает на расширении minishop2;
  • товары магазина разбиваются на категории и подкатегории, категорий может быть неограниченное количество;
  • при большом количестве категорий верхнее меню в настройках сайта можно переключить на другой вид, при котором пункты меню изначально будут скрыты и будет видна только кнопка «меню», при наведении на которую будет появляться блок с пунктами категорий блюд (выпадающее меню);
Андрей
04 июня 2018, 12:03
modx.pro
3
4 741
+6

miniShop2 удаляет апостроф, украинские и белорусские буквы

В форме заказа в поле Получатель (receiver) не проходят валидацию такие буквы, как: "ґ", "є", "і", "ї", "ў", а также знак апострофа.
Сейчас в этом поле нельзя написать: O'Brian, Дієго Веласкес,…

Учитывая, что на сегодняшний день, относительно этого вопроса, информации крайне мало, а в мануалах этот вопрос затронут достаточно обобщенно, постараюсь подробно описать решение этой проблемы.
Сuriosity
31 мая 2018, 12:46
modx.pro
4
2 186
+8

Как реализовать автоматический статус "оплачено" для товаров с ценой равной 0.

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

Пытался вешать на событие
msOnCreateOrder
$miniShop2 = $this->modx->getService('miniShop2');
$miniShop2->changeOrderStatus($order_id, 2);
Но реакции никакой, кроме той, что заказ создается вообще без статуса.

Или это желательно делать не в плагине?

Решил таки сам, не знаю, насколько хорошее решение, но работает. :)

Добавил такой кусочек кода в кастомный класс обработчика заказа на основе msorderhandler
if($order->get('cart_cost') > 0) {
                $response = $this->ms2->changeOrderStatus($order->get('id'), 1);
            } else{
                $response = $this->ms2->changeOrderStatus($order->get('id'), 2);
            }
Илья Чехов
30 мая 2018, 07:24
modx.pro
1
656
0