Всего 125 662 комментария

Серый
05 марта 2021, 12:14
0
Однажды, наверное и дозрею, но вот прям щас нужно тупо получить имя файла из TV, наверняка такая функция есть, просто мне о ней неизвестно((
Артур Шевченко
05 марта 2021, 12:12
0
Переходите на fenom и будет вам счастье, там есть replace в том числе по регулярному выражению.
Серый
05 марта 2021, 12:08
0
Допускаю, что нет решения, но возможен изящный костыль.
Сам по себе путь к MIGX ResourceMediaPath строится относительно именно текущего ID
[[!migxResourceMediaPath? &pathTpl=`resourceimages/{id}/` &createFolder=`1`]]
Соответственно, если бы как-то можно было из tv.image выделить только имя файла, может как-то типа [[+tv.image:givemeyourname]], то тогда можно было бы для pdoResources построить конструкцию для чанка типа
<img src="resourceimages/[[+id]]/[[+tv.image:givemeyourname]]">
Гуглю, пытаюсь найти как вычленить из tv.image только имя, без переключения параметров самого TV в «Текст», ибо хочется иметь более универсальные TV, пока не могу найти((
Наумов Алексей
05 марта 2021, 10:16
+2
«resocurce» я еще не встречал)))

сделайте на laravel небольшой API, который будет возвращать нужный контент.
А на MODX уже в сниппете делайте запросы к API и выводите информацию.
Артур Шевченко
05 марта 2021, 10:09
0
Пишите сюда, автор дополнения там частенько бывает t.me/ru_modx
Кристина
05 марта 2021, 07:47
0
по идее да.
вот как заполнено правило (+ сео-шаблон)

Павел Гвоздь
05 марта 2021, 06:27
0
1) 0 укажите.
2) Не применяется, когда включён. Ни там, ни там.

Все вопросы в ТП, пожалуйста, на Модстор.
Евгений
05 марта 2021, 05:05
0
а почему по значению TV нельзя сделать вывод?
Илья Александрович
04 марта 2021, 23:41
1
0
Вот рабочий вариант, только как сразу все категории перезаписать не получилось сделать, нужно менять parent
<?php
$products = $modx->getIterator('msProduct', array('parent' => 125));
foreach($products as $product){
    $options = $product->getMany('Options');
    $options = array(
    	'quantity' => array('99999'),
    );
    $product->set('options', $options);
    $product->save();
};
Артур Шевченко
04 марта 2021, 22:34
0
$q = $modx->newQuery('msProductOption');
            $q->command('UPDATE');
            $q->where(array('key' => 'test'));
            $q->set(array('value' => 3));
            $q->prepare();
            $q->stmt->execute();
Проверил работает.
Илья Александрович
04 марта 2021, 22:24
0
$products = $modx->getIterator('msProduct', array('parent' => 61));
foreach($products as $product){
    $options = $product->getMany('Options');
    foreach($options as $option){
        if($option->get('key') == 'quantity'){
             $option->set('value', '1235');
            $product->save(); // тут
        }
    }
    
};
$products = $modx->getIterator('msProduct', array('parent' => 61));
foreach($products as $product){
    $options = $product->getMany('Options');
    foreach($options as $option){
        if($option->get('key') == 'quantity'){
             $option->set('value', '1235');
            
        }
    }
    $product->save(); // тут
};
так и так пробовал не помогает
Артур Шевченко
04 марта 2021, 21:30
0
Забыл $option->save();
$products = $modx->getIterator('msProduct', array('parent' => 24));
foreach($products as $product){
    $options = $product->getMany('Options');
    foreach($options as $option){
        if($option->get('key') == 'option_key'){
             $option->set('value', 1235);
            $option->save(); // тут
        }
    }
    
};
Илья Александрович
04 марта 2021, 21:11
0
не работает, что то видать скрипт делает, но значение не меняет
parent изменил на свой и option_key изменил на свой
Артур Шевченко
04 марта 2021, 20:59
0
А у вас внутренние страницы в правиле указаны?
Артур Шевченко
04 марта 2021, 20:51
0
Самый простой вариант
$products = $modx->getIterator('msProduct', array('parent' => 24));
foreach($products as $product){
    $options = $product->getMany('Options');
    foreach($options as $option){
        if($option->get('key') == 'option_key'){
             $option->set('value', 1235);
        }
    }
    
};