Всего 125 938 комментариев

Miša Bulic
16 июля 2022, 10:57
0
а как подключен ui slider? Что за шаблон?
weranda
16 июля 2022, 10:31
0
Могли бы привести конкретный код/пример или ссылку на таковой?
kudesia
16 июля 2022, 00:29
0
Спасибо…

Но выдает какое-то длиннющее число
дмитрий
15 июля 2022, 22:35
0
Для modx 3 работает?
Michael
15 июля 2022, 17:39
0
Ок. Тогда на примере.
У меня слайдер tiny-slider
Я в каждом чанке слайдера товара создаю скрипт
<script>
$(document).on('mse2_load', function(e, data) {
  updateSliderHeight: updateInnerWrapperHeight(),
});
</script>

Понимаю что это бред, который не работает в данный момент. Но пытаюсь нащупать истину.
Поправьте меня пожалуйста.
Семён Кудрявцев
15 июля 2022, 14:12
0
Да, про события в итоге нашел их и решил задачу, а идея писать сначала во временный файл, а потом перезаписывать в конечный — это прям то, что нужно!
Константин
15 июля 2022, 13:27
0
Спасибо, сработало, но только для 1 уровня вложенности. А есть возможность на все подпапки распространить действие скрипта? prnt.sc/xnhfQGV-tKee
Евгений Шеронов
15 июля 2022, 13:12
0
Можете прям здесь (или в тех поддержку на Modstore) приложить ссылку на сайт.
По классам для ajax замен или по ошибкам в консоли будет понятнее проблема.
Евгений Шеронов
15 июля 2022, 13:09
0
Пожалуйста :)

На почте остался полный текст комментария, там было про события компонента.
Они в общем-то есть, позволяют многое, но документация скудновата.
Соберусь силами и добью документацию :)

P.S. а сам вопрос касательно того, что пока пишется файл поисковики могут получить не валидную часть — добавлю в TODO, чтобы из коробки файл писался с временным названием и после записи переименовывался.
vectorserver
15 июля 2022, 12:02
+1
Написать @Евгений Шеронов, это его компонент!
Denis
15 июля 2022, 12:01
0
Фильтрация происходит здесь:
core/components/migx/model/migx/migx.class.php
function filterItems($where, $items) {

        $tempitems = array();
        foreach ($items as $item) {
            $include = true;
            foreach ($where as $key => $operand) {
                $key = explode(':', $key);
                $field = $key[0];
                $then = $include;
                $else = false;
                $subject = $item[$field];

                $operator = isset($key[1]) ? $key[1] : '=';
                $params = isset($key[2]) ? $key[2] : '';
                $operator = strtolower($operator);
                switch ($operator) {
                    case '!=':
                    case 'neq':
                    case 'not':
                    case 'isnot':
                    case 'isnt':
                    case 'unequal':
                    case 'notequal':
                        $output = (($subject != $operand) ? $then : (isset($else) ? $else : ''));
                        break;
                    case '<':
                    case 'lt':
                    case 'less':
                    case 'lessthan':
                        $output = (($subject < $operand) ? $then : (isset($else) ? $else : ''));
                        break;
                    case '>':
                    case 'gt':
                    case 'greater':
                    case 'greaterthan':
                        $output = (($subject > $operand) ? $then : (isset($else) ? $else : ''));
                        break;
                    case '<=':
                    case 'lte':
                    case 'lessthanequals':
                    case 'lessthanorequalto':
                        $output = (($subject <= $operand) ? $then : (isset($else) ? $else : ''));
                        break;
                    case '>=':
                    case 'gte':
                    case 'greaterthanequals':
                    case 'greaterthanequalto':
                        $output = (($subject >= $operand) ? $then : (isset($else) ? $else : ''));
                        break;
                    case 'isempty':
                    case 'empty':
                        $output = empty($subject) ? $then : (isset($else) ? $else : '');
                        break;
                    case '!empty':
                    case 'notempty':
                    case 'isnotempty':
                        $output = !empty($subject) && $subject != '' ? $then : (isset($else) ? $else : '');
                        break;
                    case 'isnull':
                    case 'null':
                        $output = $subject == null || strtolower($subject) == 'null' ? $then : (isset($else) ? $else : '');
                        break;
                    case 'inarray':
                    case 'in_array':
                    case 'ia':
                    case 'in':
                        $operand = is_array($operand) ? $operand : explode(',', $operand);
                        $output = in_array($subject, $operand) ? $then : (isset($else) ? $else : '');
                        break;
                    case 'find':
                    case 'find_in_set':
                        $subject = is_array($subject) ? $subject : explode(',', $subject);
                        $output = in_array($operand, $subject) ? $then : (isset($else) ? $else : '');
                        break;
                    case 'find_pd':
                    case 'find_in_pipesdelimited_set':
                        $subject = explode('||', $subject);
                        $output = in_array($operand, $subject) ? $then : (isset($else) ? $else : '');
                        break;
                    case 'contains':
                        $output = strpos($subject, $operand) !== false ? $then : (isset($else) ? $else : '');
                        break;
                    case 'snippet':
                        $result = $this->modx->runSnippet($params, array('subject' => $subject, 'operand' => $operand));
                        $output = !empty($result) ? $then : (isset($else) ? $else : '');
                        break;
                    case '==':
                    case '=':
                    case 'eq':
                    case 'is':
                    case 'equal':
                    case 'equals':
                    case 'equalto':
                    default:
                        $output = (($subject == $operand) ? $then : (isset($else) ? $else : ''));
                        break;
                }

                $include = $output ? $output : false;

            }
            if ($include) {
                $tempitems[] = $item;
            }

        }
        return $tempitems;
    }
vectorserver
15 июля 2022, 11:57
0
<?php
/** @var modX $modx */
/** @var modResource $resources */
$resources = $modx->getCollection('modResource',array('parent' => 211));
foreach ($resources as $res) {
    $res->setTVValue('seotitle',$res->get('pagetitle'));
    $res->set('isfolder', 1);
    $res->save();
}
Роман
15 июля 2022, 11:20
+1
Плагин ставишь на
OnBeforeDocFormSave
Можешь через $_REQUEST посмотреть все поля, TV начинаются с ['tv{тут номер}']
Если отдельно, то $resource->getTVValue('bio');

$resource->setTVValue(.., ...);
Семён Кудрявцев
15 июля 2022, 11:18
+1
Ещё раз спасибо автору компонента, всё чаще его встречаю у клиентов на сайтах с MODX Revo,
чертовски удобно всё настраивать.
Артур Шевченко
14 июля 2022, 23:31
0
Возможно в личном кабинете сервиса в настройках api указан этот адрес для возврата.
Максим
14 июля 2022, 21:04
+1
Тогда будет правильнее обратиться за помощью в реализации. Так как с TV все достаточно запутано. На сайте есть соответствующий раздел.