msPromoCode при загрузке корзины по ajax

Добрый день, сам компонент работает по ajax, и при загрузке корзины по ajax функционал компонента не работает. не запускаются, тк они вызываются потом в футере, Может быть подскажите решение данной проблемы?
Евгений
21 марта 2023, 13:34
modx.pro
392
0

oneBooking

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

использую onebooking 4.0.2-pl для брони номеров. После чистки кеша руками первые 2 заявки норм, поом он начинает их дублировать, что в админке, что на мейл…

Вызов: [[!obCalendar? &objects=`1` &interface=`form` &type=`period` ]]

Не подскажите, в чем может быть проблема?
Антон
21 марта 2023, 11:54
modx.pro
513
0

Корзина minishop 2

добрый день! в магазине у товара есть несколько размеров, как сделать так чтобы в корзину можно было положить максимум 3 в не зависимости от того какой размер выбран и какой товар, то есть если у одного товара выбран какой-то размер в количестве 2, то другого размера этого же товар или другой можно было положить в корзину только 1.
Михаил
21 марта 2023, 11:42
modx.pro
744
0

Ошибка cant find jQuery AjaxForm plugin

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

При вызове формы сталкиваюсь с ошибкой на странице — cant find jQuery AjaxForm plugin

Хотя в head все подключаю:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="https://malsup.github.io/jquery.form.js"></script>
Подскажите, пожалуйста, в чем может быть проблема?
Не могу найти…

MODX Revo 2.8.3
Антон
20 марта 2023, 22:32
modx.pro
830
0

modx3 и php8

Привет,
у меня следующая проблема

ERROR @ /core/components/pdotools/src/Fetch.php : 229) PHP warning: Array to string conversion
и
/core/src/Revolution/Processors/Workspace/Packages/GetList.php : 228) PHP warning: Trying to access array offset on value of type null
и
ERROR @ /core/src/Revolution/modTemplateVar.php : 331) PHP warning: Undefined array key "class_key"
и
/core/src/Revolution/modX.php : 2584) Could not prepare context: mgr
и
(ERROR @ /core/cache/includes/elements/modx/revolution/modplugin/1.include.cache.php : 38) PHP warning: Undefined array key "q"
и
ERROR @ /core/components/modxminify/model/modxminify/modxminify.class.php : 186) PHP warning: Undefined variable $skip
и
ERROR @ /connectors/lang.js.php : 64) PHP warning: preg_match(): Delimiter must not be alphanumeric, backslash, or NUL
modx 3.0.3-pl
php 8.2.4
nginx

modplugin 1
<?php
if ($modx->context->get('key') !== 'mgr') {

    $contexts = array();

    $cacheKey = $modx->getOption('cache_context_map_key', $scriptProperties, 'context_map');
    $cacheOptions = array(
        xPDO::OPT_CACHE_HANDLER => $modx->getOption("cache_{$cacheKey}_handler", $scriptProperties, $modx->getOption(xPDO::OPT_CACHE_HANDLER)),
        xPDO::OPT_CACHE_EXPIRES => $modx->getOption("cache_{$cacheKey}_expires", $scriptProperties, $modx->getOption(xPDO::OPT_CACHE_EXPIRES)),
    );
    /** @var xPDOCache $contextCache */
    $contextCache = $modx->cacheManager->getCacheProvider($cacheKey, $cacheOptions);

    if ($contextCache) {
        $contexts = $contextCache->get('context_map');
    }

    if (empty($contexts)) {
        /** @var modContext $contextsGraph */
        $query = $modx->newQuery('modContext');
        $query->where(array('modContext.key:NOT IN' => array('web', 'mgr')));
        $query->sortby($modx->escape('modContext') . '.' . $modx->escape('key'), 'ASC');
        $contextsGraph = $modx->getCollectionGraph('modContext', '{"ContextSettings":{}}', $query);
        foreach ($contextsGraph as $context) {
            $contextSettings = array();
            foreach ($context->ContextSettings as $cSetting) {
                $contextSettings[$cSetting->get('key')] = $cSetting->get('value');
            }
            $contexts[$context->get('key')] = $contextSettings;
        }
        unset($contextsGraph);
        if ($contextCache) {
            $contextCache->set('context_map', $contexts);
        }
    }

    if (!empty($contexts)) {
        $pieces = explode('/', trim($_REQUEST[$modx->getOption('request_param_alias', null, 'q')], ' '), 2);
        if (count($pieces) > 0) {
            foreach($contexts as $cKey => $cSettings) {
                if ($pieces[0] == $cKey) {
                    if (isset($pieces[1])) {
                        $_REQUEST[$modx->getOption('request_param_alias', null, 'q')] = $pieces[1];
                    } else {
                        $modx->sendRedirect(MODX_SITE_URL . $pieces[0] . '/', array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
                    }
                    $modx->switchContext($cKey);
                    $modx->log(modX::LOG_LEVEL_INFO, "Switched to context {$cKey} from URI {$_REQUEST['q']}");
                    break;
                }
            }
        }
    }
}
Chavdarov
20 марта 2023, 12:36
modx.pro
1 090
0

Условие вывод в fenom

Добрый день!
Подскажите как можно на fenom создать условие на вывод контента.
На странице есть tv поле язык (английский, русский, украинский), и в зависимости от языка выводится текст, если выбрано английский — статья доступна на английском языке, если русский на русском, если украинский на украинском, а если выбрано например на русском и английском нужно подставлять статья доступна на английском и русском языках и так далее. Как составить такого рода условие. Вывод по одному языку вывел через
{switch  $_modx->resource.lang}
    {case 1}
        {var $lang = "на английском языке"}
    {case 2}
        {var $lang = "на русском языке"}
    {case 3}
        {var $lang = "на украинском языке"}
    {default}
        {var $lang = "на английском, русском и украинском языках"}
{/switch}
а чтоб при выборе двух или трех языков не получается
Майкл
19 марта 2023, 05:02
modx.pro
511
0

Как на FENOM по id ресурса вывести tv migx сразу из нескольких ресурсов?

Приветствую, подскажите пожалуйста, как вывести из нескольких ресурсов MIGX TV?

Вывожу обычно так, по id из одного ресурса, в примере из ресурса с id 1, а как добавить к этому еще id ресурсов? Например 2 и 3.

//MIGX FOREACH
{set $tvname = json_decode(1 | resource : 'migxtvname', true)}
{if $tvname}
{foreach $tvname as $item}
{$item.title}
{/foreach}
{/if}
Если указать через запятую id, будет ошибка. Как такое обычно делают? Но только не дублировать код цикла конечно.
Роман
16 марта 2023, 22:13
modx.pro
477
0

htaccess и Babel - помогите понять где ошибка

Имеется в htaccess вот такая запись:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en|ru|es|pl)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
при переходе в корне сайта по урлу: сайт-me.com/play-friday/
отрабатывает «PL» и отображает данные с контекста «PL»
Я так думаю — потому что отрабатывает PL (play) в урле…

Подскажите как исправить…
Alex
16 марта 2023, 18:17
modx.pro
256
0

Почему не работает феном?

Бьюсь уже час.
А переменная не передается в чанк с fenom.
Делаю так:
[[$sidebar_left? &border=`2`]]
{$border} не работает. [[+border]] работает. Помогите пожалуста.
Генадий
16 марта 2023, 16:12
modx.pro
421
0

Шорткод для простановки ссылок в редакторе, с учетом состояния ресурса

Всем привет, у меня не вопрос, а просто удобный сниппет, в другие разделы публиковать не дает, рейтинг низкий =((, не нашел ни чего подобного, поэтому пилил сам, может кому то понадобится, упрощает жизнь сеошнику при внутренней перелинковке сайта. Собственно к сути:
Сделал сниппет который получает текст где проставлены вот такие шорткоды — "[id10] анкор ссылки []" где 10 это id ресурса на который должна сформироваться ссылка, по мне так удобнее чем делать жесткую ссылку через функционал редактора в админке, часто бывает что я меняю структуру, и меняется uri страницы, еще одним удобством сделал то что если ресурс на который мы ссылаемся еще не опубликован, то ссылка игнорируется, а конструкция шорткода просто вырезается, но как только ресурс публикуется (сделали отложенную публикацию к примеру) то ссылка на него сразу появится.
Создаем сниппет в админке, называем к примеру — url_by_id
Код сниппета:
<?php
$text = $input;
for ($i = 1; $i <= 8; $i++) { //8 это максимальное количество обрабатываемых шорткодов, можно конечно с foreach что то придумать, но тогда нужно массив создавать заранее, не стал заморачиваться
preg_match('[id\d{1,}]', $text, $output);
$res_id = str_replace('id','',$output[0]);
    if ($res_id) { 
        $res = $modx->getObject('modResource', $res_id);
            if ($res->get('published')){
                $url = $modx->makeUrl($res_id);
                $link = "<a href=\"$url\">";    
                $seraching_string = '['.$output[0].']';
                $text = str_replace($seraching_string, $link, $text);
               $text = preg_replace('/\[\]/', '</a>',$text, 1);
            }elseif(!$res->get('published')){
                $link = "";    
                $seraching_string = '['.$output[0].']';
                $text = str_replace($seraching_string, $link, $text);
                $text = preg_replace('/\[\]/', '',$text, 1);
                }
        }
}
return $text;
И использование в шаблонизаторе:
{$_modx->resource.content | url_by_id}
Если в текстовом редакторе сделать вот [id5]такую конструкцию[], то на фронте получится ссылка на url ресурса с id = 5, с анкором «такую конструкцию»
Как то так, сильно не пинайте)))
Max
Max
16 марта 2023, 09:54
modx.pro
418
-1