Всего 123 810 комментариев

Николай Савин
17 ноября 2022, 11:27
0
Ну для начала так происходит не только у вас. Так у всех. И ничего плохого в этом нет.
manager/index.php?a= и manager/?a= это синонимы, они работают одинаково.
Vladimir
17 ноября 2022, 11:19
0
и потом когда нажимаю на ссылку, да слово Index исчезает, а .php остаётся
Vladimir
17 ноября 2022, 11:18
0
Вот когда заходите в категорию с товарами от minishop2 ссылки на товары рендерится почему с Index.php, хотя если вызвать контекстное меню, и затем нажать на кнопку изменить, там переходит и ссылка без index.php. prnt.sc/HKKnoR1D8f79 prnt.sc/QdRU6Rf-WrHj
Николай Савин
17 ноября 2022, 07:52
0
Несколько раз перечитал, но так и не понял в чем проблема. У вас слово index пропадает при переходе в редактор товара?
Vladimir
17 ноября 2022, 06:48
0
Кто-нибудь знает где происходит рендер эти блоков, чтобы я мог заменить что-то там, смотрел и в assets и в core, но найти не могу именно там, где бы рендерилось и можно допустим заменить тэг.
Сергей Шлоков
16 ноября 2022, 20:01
0
Будешь проезжать Пашу дёрни )
Артур Шевченко
16 ноября 2022, 19:10
0
У тебя товары фильтруются, а не модификации. В костыльном варианте надо в карточке товара вызывать сниппет, который вернёт нужную модификацию исходя из выбранных фильтров.
Lori
16 ноября 2022, 18:29
0
ниче так ты решил ответить на вопрос почти 2 летней давности)
R2m0x94 (Vasily)
16 ноября 2022, 18:18
0
Для дробного числа (float, double, decimal(18,2))
{$percent|floatval}
Riwka
16 ноября 2022, 15:01
0
Добавлю комментарий к старой теме, вдруг кому-то еще поможет. Столкнулась с похожей проблемой, обновление адреса репозитория через sdStore не помогло, выдало очередную ошибку, но, убрала в площадке запись об имени пользователя и API и все прекрасно заработало. Не знаю, баг это или фича, но на текущий момент так работает.
Вячеслав Варов
16 ноября 2022, 14:23
0
<?php
switch($modx->event->name) { 
    case 'OnDocFormSave':
    if ($resource->get('class_key') == 'msProduct') {
        $template = $resource->get('template'); {
            if ($template == 15) {
                $old_price = $resource->get('old_price');
	            $sale_size = $resource->get('sale_size');
	            $resource->set('price', $old_price * (100 - $sale_size) / 100);
	            $resource->save();
            }
        }
    }
    break;
}
поле sale_size добавил в товар через плагин minishop2
Вячеслав Варов
16 ноября 2022, 14:22
0
Да таким событием получилось сделать, спасибо!
Vladimir
16 ноября 2022, 14:21
0
Довольно странно такое, код везде использую, на других сайтах нет таких проблем. режим генерации стоит
full
Роман
16 ноября 2022, 13:39
+1
Да, не прав, OnDocFormSave
if ($modx->event->name != 'OnDocFormSave') {return false;}
vectorserver
16 ноября 2022, 12:11
0
Вот так:
<?php
//define('MODX_API_MODE', true);
//require 'index.php';

/* @var modX $modx */

//Дадим права админа навыполнение процессора
$modx->user = $modx->getObject('modUser', 1);

//Данные для обновления ресурса
$data = [
    'id'=>1,
    'introtext'=>'ццццццццццццц',
    'alias'=>'index',
    'context_key' => 'web',
    'tvs' => true,// save tv
    'tv3' => 'abc', //tv +id
];

//Запускаем процессор
$response = $modx->runProcessor('resource/update', $data);

if ($response->isError()) {
    $out = $response->getMessage();
} else{
    $out = $response->response;
}


var_dump($out);
Константин Ильин
16 ноября 2022, 12:03
0
Что-то я впервые вижу событие beforeSaveProduct, вроде такого нет.

Должен подойти OnDocFormSave
<?
if ($mode != 'new' ) { // тут уже сами смотрите, можно убрать это условие
    
    $id = $resource->get('id');
    if($resource->get('class_key') == 'msProduct'){
        /* код */
    }

}
Константин Ильин
16 ноября 2022, 11:58
0
В «целом» так же как и чанк
в вашей же теме
modx.pro/help/23347#comment-136039

<?
$modx->runSnippet('Название сниппета', [ 
'tpl' => ''
/* параметры */
]);
У меня по простому
disk.yandex.ru/i/xXiQ_lfA6weMZQ
Евгений
16 ноября 2022, 11:41
0
зато быстро и надежно, ничего не сломается после обновления
deleted
16 ноября 2022, 11:33
0
а зачем через процессор? медленно же
Руслан
16 ноября 2022, 10:03
0
Спасибо, сделал так
switch ($modx->event->name) {
	case 'OnDocFormRender':
		
	$parent = (int) $_REQUEST['id'];
	
	if ($parent = $modx->getObject('modResource', $parent)) {
	    $i = $parent->get('template');
	    if ($i == 6) {
	        $modx->controller->addHtml('<script>
	            Ext.onReady(function() {
	                window.setTimeout(function() {
	                let tabs = Ext.getCmp("modx-resource-tabs");
	                 tabs.setActiveTab(6);
	                }, 10);
	            });
	            
	        </script>');
	    }
	}
		
	break;
}