Вопросы

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

Добрый день, есть региональный сайт на пару десятков городов, города реализованы через контексты, для переключения контекстов использую плагин:
<?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 374
0

minishop2. Экспорт покупателей (не пользователей)

Приветствую.
Есть ли какой-нибудь компонент, скрипт для minishop2 чтобы экспортировать список покупателей(получателей), а не пользователей?
Павел
28 июня 2018, 08:33
modx.pro
1 778
0

Регистрация на сайте

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

Это к слову.

Я нашел информацию по Login, Loginza и HybridAuth.

Login я так понимаю это что-то дефолтное и традиционное. Где пользователь регистрируется по своему email и дальше уже пользуется независимой от других сервисов учетной записью с привязкой к почтовому ящику.

Loginza я так понимаю очень старая вещь, которая не обновлялась с 2013 года.
Я бы использовал ее за элементарность, но мне не нравится набор соц сетей которые там есть.

HybridAuth я вообще ничего не понял (\/)_(@_@)_(\/)

Подскажите как быть и что выбрать, почему выбрать это и как этим пользоваться ( в частности про HybridAuth).
Oleg
28 июня 2018, 08:31
modx.pro
1 862
-2

mFilter2 и where: не работает выборка

Есть вызов mFilter2:

[[!mFilter2?
            &parents=`12`
            &paginator=`pdoPage`
            &tplPageFirst=``
            &tplPageLast=``
            &limit=`12`
            &element=`msProducts`
            &includeTVs=`akcii,add_skidka,skidka`
            &filters=`
              tv|akcii
              ,ms|vendor:vendors
              ,ms|price:number
              ,ms|mode
              ,msoption|color
              ,ms|invertorcontrolpower
              ,ms|wifi
            `
            &sort=`ms|price:asc`
            &tpls=`adaptive_tpl.msProducts.row_schema`
            &class=`msProduct`
            &tplOuter=`adaptive_tpl.mFilter2.outer`
            &tplFilter.outer.default=`adaptive_tpl.mFilter2.filter.outer`
            &tplFilter.row.default=`adaptive_tpl.mFilter2.filter.checkbox`
            &tplFilter.outer.ms|price=`adaptive_tpl.mFilter2.filter.slider`
            &tplFilter.row.ms|price=`adaptive_tpl.mFilter2.filter.number`
            &tplFilter.outer.ms|servicearea=`adaptive_tpl.mFilter2.filter.slider`
            &tplFilter.row.ms|servicearea=`adaptive_tpl.mFilter2.filter.number`
          ]]
MrKarandash
28 июня 2018, 07:19
modx.pro
963
0

miniShop2, некорректный ответ action.php

При добавлении в корзину товара идёт запрос к /assets/components/minishop2/action.php, параметры передаются верные
count=1
ctx=web
id=14
ms2_action=cart/add
options=[]
товар оказывается в корзине, но ответ запроса не в виде json-строки, а текущая страница целиком, вследствие чего ни уведомления об изменении корзины, ни изменения мини-корзины.
В журнале ошибок ничего нет, версия MODx — 2.6.4, версия miniShop2 — 2.4.13
Дарья Смирнова
27 июня 2018, 22:40
modx.pro
1 109
0

pdoField + fenom + модификатор

Добрый день!
Реально как то такую конструкцию с модификатором забабахать?

{20 | resource : 'content'}
+
ellipsis=`50`
Можете подсказать как правильно будет выглядеть эта конструкция?
Сергей
27 июня 2018, 19:59
modx.pro
2 087
0

SQL-запрос в сниппете фильтрации ресурсов по набору tv

Доброго времени суток!

Пишу сниппет фильтрации ресурсов по набору tv-полей и столкнулся со странной отработкой запроса.

Логика и примеры результатов отработки запроса под катом.
Евгений
27 июня 2018, 18:52
modx.pro
1 071
0

Ошибка в MODX 3 при создании нового пользователя

Решил попробовать установить MODX 3 Dev, при создании нового юзера вылетела ошибка:

Parse error: syntax error, unexpected '<<' (T_SL), expecting end of file in /var/www/site/data/www/modx3.s01.one/core/lexicon/ru/setting.inc.php on line 459
Полез узнать в чём может быть проблема и увидел следующее:

<<<<<<< HEAD
$_lang['setting_login_help_button'] = 'Выводить кнопку помощи';
$_lang['setting_login_help_button_desc'] = 'Если включено, на экране входа в Менеджер будет выведена кнопка помощи. Вы можете изменить текст этой помощи, редактирую следующие записи лексикона core/login: login_help_button_text, login_help_title, и login_help_text.';

$_lang['setting_manager_time_format'] = 'Формат времени';
$_lang['setting_manager_time_format_desc'] = 'Строка в формате PHP date(), определяющая формат отображения времени в настройках сайта.';
=======
$_lang['setting_manager_time_format'] = 'Формат времени в панели управления';
$_lang['setting_manager_time_format_desc'] = 'Строка в формате PHP date(), определяющая формат отображения времени в панели управления.';
>>>>>>> origin/2.x
Это вообще законно?))) Или в синтаксисе PHP 7.2 такое встречается?! Сорри если не туда закинул топик.

P.S. Тыкните плиз, куда багфиксы в Github кидать?
SEQUEL.ONE
27 июня 2018, 18:43
modx.pro
1 184
0

msProducts fenom в параметре where. И баг со связями

Задача вывести рекомендованные товары.

Сделал связь Рекомендованные (это уже вторая связь, первая — фасовка, товары с одинаковыми названиями, но разными весами). И тут оказывается, что на кнопку Создать связь на странице товара нельзя нажать — ничего не происходит. И ошибки в логах нет. Как понять что это и пофиксить?

Когда верстал сайт, это работало, я прописывал тестовые связи много-к-много и выводилось как надо. Делал я так:
Eiry
27 июня 2018, 18:02
modx.pro
3 505
0

Теги товара

Подскажите пожалуйста, где искать теги, которые присвоены товару?

Мне их нужно переименовать для сайта — не могу найти исходник.
Нашёл сниппет Product.tags, а в нём текст
[[+rows]]
Андрей Сутко
27 июня 2018, 10:27
modx.pro
615
0