Alexey

Alexey

С нами с 02 августа 2015; Место в рейтинге пользователей: #109
22 января 2021, 16:20
0
А если юзер после успешной оплаты закроет вкладку и не перейдет на страницу site.ru/payment-success?

Логичнее было бы повесить такой функционал на страницу сайта, которая принимает POST-данные с сервиса оплаты и валидирует по хешу. Наверняка, такая есть? Там уж точно «левый» юзер даже случайно не зарегается.
21 января 2021, 16:05
0
А почему на третьей рекапче что-то должно всплывать? Только это видно — skrinshoter.ru/s/210121/aLpJ7CbL

Не путаете со второй?
16 января 2021, 11:54
+1
Привет!

modx.pro/development/8984

Параметр request_method_strict
13 января 2021, 08:35
0
Привет!

docs.modx.pro/komponentyi/ms2gallery/primeryi/slajder-bootstrap3

Вот тут пример для слайдера, реализован через pdoResources. Значит, думаю можно прикрутить pdoPage с его режимом ajaxMode=button
11 января 2021, 21:41
+1
Вот такой вариант должен сработать (с массивом в where и модификатором split, который разбивает $published_brands по запятой):

{set $published_brands = '!pdoResources' | snippet : [
            'parents'       => 2,
            'depth'         => 0,
            'limit'         => 0,
            'returnIds'     => 1
] | split : ','}

{'!mFilter2' | snippet : [
            'parents'   => $_modx->resource.id,
            'includeTVs' => 'brand',
            'where'     => ["TVbrand.value:IN" => $published_brands],
            'class'     => 'msProduct',
            'element'   => 'msProducts',            
            'sortby'    => 'editedon',
            'sortdir'   => 'DESC',
            'limit'     => 18
            ...
            ]
        }

Почему-то JSON не принимает переменную $published_brands. Я сходу не разобрал, как её корректно подставить…
11 января 2021, 20:44
+1
И что возвращает само ТV- поле brand? Может, разделителя нет? Или не тот?
11 января 2021, 20:28
+1
А что это за модификатор — strToArray? Переменная $published_brands что возвращает?

Зы: а, не увидел в условии, что подстановка массива не помогает…
17 декабря 2020, 15:46
0
В этом случае, если tv-поле не заполнено, но прикреплено к ресурсу, результат все равно будет отрицательный
17 декабря 2020, 15:21
0
На тесте всё корректно отрабатывает.
17 декабря 2020, 15:13
0
$template_id = 2; //id шаблона ресурса
$tv_id = 5; //id tv-поля

$q = $modx->newQuery('modTemplateVarTemplate');
$q->where([
    'tmplvarid' => $tv_id,
    'templateid' => $template_id
]);
$q->limit(1);

return $modx->getCount('modTemplateVarTemplate', $q);

Как известно, tv-поля прикрепляются не к самим ресурсам, а к шаблонам.

Вот сниппет, который возвращает 0 если tv не прикреплен к указанному шаблону и 1, если прикреплен.
17 декабря 2020, 09:41
0
Раз или два сталкивался с такой же проблемой, через некоторое время все само собой нормализовывалось. Так и не выяснил причину… Такое ощущение, что в хроме где-то сидит неудаленная кука, которая все портит)
16 декабря 2020, 14:55
0
То есть, нужна проверка, прикреплено ли в принципе tv к этому ресурсу? Не важно, пустая она или нет?
16 декабря 2020, 14:53
0
modx.im/blog/questions/2787.html

посмотри тут.

Кстати, какой хостинг?
16 декабря 2020, 14:27
0
OnBeforeDocFormSave
16 декабря 2020, 13:53
0
Спецом открывал вкладку «настройки» ресурса, все на лету меняется при сохранении. MODX 2.8.1
16 декабря 2020, 13:18
+2
Желательно код показать. Тут все прямо ясновидящие, но не настолько же…

Можно попробовать отключить валидатор email-поля и отправить форму. Отправится ли?

И что в логах творится?
16 декабря 2020, 13:06
0
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnBeforeDocFormSave':
        //$resource = $modx->getObject('modResource', $id);
        $resourceAlias = $resource->get('alias');
        $resourceParent = $modx->getObject('modResource', $resource->get('parent'));
        if ($resourceParent) {
            $resourceParentAlias = $resourceParent->get('alias');
            
            $resourceParentIsTabsContainer = $resourceParent->getTVValue('resourceTabsContainer');
            
            if ($resourceParentIsTabsContainer) {
                $resource->set('uri_override', true);
                $resource->set('uri', $resourceParentAlias.'#'.$resourceAlias);
                
                //$resource->save();
            }
        }
        break;
}

Плагин меняет URI, делает его замороженным, если tv-поле родителя ресурса равно true.

Едиственный момент: в этом плагине я закомментил первую и последнюю сроки — они по факту не нужны

Вот такой код корректно всё отрабатывает: URI меняет сразу. У тебя не так? Где не так? На фронте или в админке? Прошу конкретики
16 декабря 2020, 09:33
0
А для чего повешено на событие OnDocFormPrerender?
15 декабря 2020, 15:26
0
Код плагина в студию