Как добавить коэффициент умножения на цены miniShop2 и msOptionsPrice2
Нужно чтобы в минишоп попадали уже цены умноженные на этот коэффициент. Часть товаров с опциями msop2.
Еще на сайте есть текстовые цены на доп услуги, их тоже как-то менять надо на этот коэффициент.
Я уже устал 2 недели цены переделывать.
Подскажите, пожалуйста, как решить эту проблему.
Сначала надеялся, что всё быстро закончится, но похоже, что всё только начинается…
Самый простой способ, наверно, где-то в админке сделать коэффициент и чтобы все существующие цены на него умножались.
Как это сделать?
Еще на сайте есть текстовые цены на доп услуги, их тоже как-то менять надо на этот коэффициент.
Три месяца назад я написал эту песню, но с е$учим темпом инфляции я зае$ался тексты переделывать, так что пусть в этой песне всё остаётся как былоБомж, Сектор Газа, 1991 год
Я уже устал 2 недели цены переделывать.
Подскажите, пожалуйста, как решить эту проблему.
Сначала надеялся, что всё быстро закончится, но похоже, что всё только начинается…
Самый простой способ, наверно, где-то в админке сделать коэффициент и чтобы все существующие цены на него умножались.
Как это сделать?
Комментарии: 8
Самый простой способ, наверно, где-то в админке сделать коэффициент и чтобы все существующие цены на него умножались.Да. И добавь к этому задание в планировщике и сниппет который будет цены менять.
Как это сделать?
Вот мой код к которому обращается cron
загуглить поискать в Яндексе.
А как должен выглядеть сниппет, я могу только предполагать. Учитывая, что есть «текстовые цены», наверное нужно будет использовать регулярные выражения. Если в самом простом варианте, без регулярок и модификаций, только основная цена товара, то примерно так
<?php
$snippet = $argv[1] ?: $_GET['snippet'];
$allowSnippets = array('modstoreParser', 'updatePrice', 'bussinessCenterParser'); // массив разрешённых сниппетов, нужно потому что скрипт доступен с фронта и принимает get-параметры.
if(in_array($snippet, $allowSnippets)){
require_once 'document/root/path/public_html/config.core.php'; // заменить на свой путь до корня сайта
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');
echo $modx->runSnippet($snippet);
}
Как создавать задачи для cron можно А как должен выглядеть сниппет, я могу только предполагать. Учитывая, что есть «текстовые цены», наверное нужно будет использовать регулярные выражения. Если в самом простом варианте, без регулярок и модификаций, только основная цена товара, то примерно так
<?php
$coefficient = $modx->getOption('coefficient'); // получаем системную настройку, которую предварительно создали
if($coefficient){
$products = $modx->getIterator('msProductData'); // получаем все товары
foreach($products as $product){
$oldPrice = $product->get('price');
$product->set('price', $price*$coefficient);
$product->save();
}
}
@Фарит Не надо писать такие заголовки, заголовок вопроса должен отражать суть вопроса и до ката также
Заголовок и суть вопроса были отформатированы высокоразвитым искусственным интеллектом.
Для переоценки можно использовать например — msRevaluation и msPre, оба поддерживают msOptionsPrice2.
msPre условно msOptionsPrice2 поддерживает.
Точно также как и в msOptionsPrice2 нужно заходить в каждую позицию и менять цены.
В виде таблицы не показывает.
Точно также как и в msOptionsPrice2 нужно заходить в каждую позицию и менять цены.
В виде таблицы не показывает.
Да вроде как не нужно — msOptionsPrice2 и управление модификациями. Или мы о разных вещах говорим?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.