Ручная сортировка строчек товаров в msCategory не работает
MODX Revolution 2.8.3-pl (traditional)
miniShop2 2.5.0-pl
Столкнулся с тем, что список товаров в категории после нажатия на заголовок столбца для сортировки по цене или названию перестает реагировать на ручной drug and drop, товар тащится, но не остается там, где я его ставлю в списке.
Как победить эту неведомую хрень? Может у кого было подобное.
Заказчику удобно перетаскивать вручную, но при этом если случайно нажать заголовок столбца, надо откатывать базу, чтобы восстановить работоспособность админки
miniShop2 2.5.0-pl
Столкнулся с тем, что список товаров в категории после нажатия на заголовок столбца для сортировки по цене или названию перестает реагировать на ручной drug and drop, товар тащится, но не остается там, где я его ставлю в списке.
Как победить эту неведомую хрень? Может у кого было подобное.
Заказчику удобно перетаскивать вручную, но при этом если случайно нажать заголовок столбца, надо откатывать базу, чтобы восстановить работоспособность админки
На сайте com-stil.com нужно обнаружить и удалить вирус....
Внимание, тревога!
На вашем сайте обнаружены подозрительные файлы.
Сайт s1924
— www/server/php/files/2b.jpg заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b (1).jpg заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.inc заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.phar заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.cfm заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.jsp заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
На сайте com-stil.com нужно обнаружить и удалить вирус…
На вашем сайте обнаружены подозрительные файлы.
Сайт s1924
— www/server/php/files/2b.jpg заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b (1).jpg заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.inc заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.phar заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.cfm заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
— www/server/php/files/2b.jsp заражен ...9:CDEFGHIJSTUVWXYZcdefghijs…
На сайте com-stil.com нужно обнаружить и удалить вирус…
Плагин на событие mSyncOnProductOffers
2 1
Добрый день!
Помогите написать не большой плагин на событие mSyncOnProductOffers.
Что бы при выгрузке из 1с обновлялось поле у товара, созданное через msFieldsManager (поле называется remain).
Установлен компонент для учета остатков msProductRemains (он работает по такому-же событию и обновляет свои остатки)
Есть плагин, которые работает при сохранении товара.
Помогите написать не большой плагин на событие mSyncOnProductOffers.
Что бы при выгрузке из 1с обновлялось поле у товара, созданное через msFieldsManager (поле называется remain).
Установлен компонент для учета остатков msProductRemains (он работает по такому-же событию и обновляет свои остатки)
case 'mSyncOnProductOffers':
$xml = $modx->getOption('xml', $scriptProperties);
$field = $modx->getOption('mspr_msync_field', $scriptProperties, 'Количество');
if ( !is_object($xml) || !isset($xml->$field) ) break;
$product = $modx->getOption('resource', $scriptProperties);
$msProductRemains->saveRemains(array_merge($product->get('options')?:array(), array(
'product_id' => $product->get('id')
,'count' => (float) $xml->$field
,'set' => true
)));
break;
Нужно что бы при обновлении товара, добавлялось количество в поле remain, сейчас это работает на сохранение товара.Есть плагин, которые работает при сохранении товара.
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormSave':
if ($resource->get('class_key') == 'msProduct') {
$modx->addPackage('msproductremains', $modx->getOption('msproductremains.core_path',null,$modx->getOption('core_path').'components/msproductremains/').'model/');
$stock = 0;
$sql = "SELECT remains FROM {$modx->getTableName('msprRemains')} WHERE product_id = ".$id;
$query = $modx->prepare($sql);
$query->execute(array(0));
$remains = $query->fetchAll(PDO::FETCH_ASSOC);
foreach ($remains as $remain) {
$stock += $remain['remains'];
}
// $resource->setTVValue('stock', $stock);
$resource->set('remain', $stock);
$resource->save();
}
break;
}
Плагин на событие mSyncOnProductOffers
Добрый день!
Помогите написать не большой плагин на событие mSyncOnProductOffers.
Что бы при выгрузке из 1с обновлялось поле у товара, созданное через msFieldsManager (поле называется remain).
Установлен компонент для учета остатков msProductRemains (он работает по такому-же событию и обновляет свои остатки)
Есть плагин, которые работает при сохранении товара.
Помогите написать не большой плагин на событие mSyncOnProductOffers.
Что бы при выгрузке из 1с обновлялось поле у товара, созданное через msFieldsManager (поле называется remain).
Установлен компонент для учета остатков msProductRemains (он работает по такому-же событию и обновляет свои остатки)
case 'mSyncOnProductOffers':
$xml = $modx->getOption('xml', $scriptProperties);
$field = $modx->getOption('mspr_msync_field', $scriptProperties, 'Количество');
if ( !is_object($xml) || !isset($xml->$field) ) break;
$product = $modx->getOption('resource', $scriptProperties);
$msProductRemains->saveRemains(array_merge($product->get('options')?:array(), array(
'product_id' => $product->get('id')
,'count' => (float) $xml->$field
,'set' => true
)));
break;
Нужно что бы при обновлении товара, добавлялось количество в поле remain, сейчас это работает на сохранение товара.Есть плагин, которые работает при сохранении товара.
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormSave':
if ($resource->get('class_key') == 'msProduct') {
$modx->addPackage('msproductremains', $modx->getOption('msproductremains.core_path',null,$modx->getOption('core_path').'components/msproductremains/').'model/');
$stock = 0;
$sql = "SELECT remains FROM {$modx->getTableName('msprRemains')} WHERE product_id = ".$id;
$query = $modx->prepare($sql);
$query->execute(array(0));
$remains = $query->fetchAll(PDO::FETCH_ASSOC);
foreach ($remains as $remain) {
$stock += $remain['remains'];
}
// $resource->setTVValue('stock', $stock);
$resource->set('remain', $stock);
$resource->save();
}
break;
}
Кто-нибудь пробовал писать кеширование для mFilter2?
Этот сниппет нужно вызывать некешированным.
Но это потому что стандартный механизм кеша в MODX кеширует слишком… топорно.
Что, если написать свое кеширование, которое будет зависеть от get-параметров? В него будет включена пагинация и примененные фильтры.
Кто-нибудь пробовал? Какие тут подводные камни?
Не хочется потратить несколько часов, а то и дней. И понять, что идея «так себе».
Но это потому что стандартный механизм кеша в MODX кеширует слишком… топорно.
Что, если написать свое кеширование, которое будет зависеть от get-параметров? В него будет включена пагинация и примененные фильтры.
Кто-нибудь пробовал? Какие тут подводные камни?
Не хочется потратить несколько часов, а то и дней. И понять, что идея «так себе».
msfilter2 и скрытие отключенных (disabled) чекбоксов
Добрый всем день.
Есть ли возможность в фильтре скрывать чекбоксы, которые переходят в состояние disabled, после начала фильтрации (изображение 1)?
Попытался скрыть через CSS просто по классу, но вместо отключенных чекбоксов остается пустое место, сдвига выборов не происходит (изображение 2).
Есть ли возможность в фильтре скрывать чекбоксы, которые переходят в состояние disabled, после начала фильтрации (изображение 1)?
Попытался скрыть через CSS просто по классу, но вместо отключенных чекбоксов остается пустое место, сдвига выборов не происходит (изображение 2).
Возможно ли в сниппете, вызванном из чанка tpl, получить переменные товара, которые устанавливаются при вызове msProducts?
Я вызываю msProducts. В аргументе tpl я указываю чанк. В этом чанке я вызываю сниппет. Как мне в сниппете получить значения, которые msProducts отправил в чанк? Я имею в виду значения конкретного товара (значения опций, pagetitle, longtitle и т.д.).
Их нужно в сниппет самому передавать? Но ведь значений очень много может быть. А еще опции, которые зависят от родителя товара. Просто так все это не передать в сниппет. Тут будут сложности и overhead.
Может, все же есть способы получить данные от msProducts в сниппете, который вызывали в чанке tpl, не передавая их в сниппет явно? Может, в каком-то массиве внутри $modx они содержатся? Или у $modx есть функция для их получения?
Их нужно в сниппет самому передавать? Но ведь значений очень много может быть. А еще опции, которые зависят от родителя товара. Просто так все это не передать в сниппет. Тут будут сложности и overhead.
Может, все же есть способы получить данные от msProducts в сниппете, который вызывали в чанке tpl, не передавая их в сниппет явно? Может, в каком-то массиве внутри $modx они содержатся? Или у $modx есть функция для их получения?
Стоимость доставки, зависящая от суммы заказа и времени доставки
1
Добрый день
Нужно сделать чтобы сумма доставки зависела от выбранного пользователем интервала доставки, а также от общей суммы заказа
Кто возьмется, распишу подробнее
Нужно сделать чтобы сумма доставки зависела от выбранного пользователем интервала доставки, а также от общей суммы заказа
Кто возьмется, распишу подробнее
Поле из адреса в классе расчета достаки
Добрый день.
пытаюсь сделать расчет стоимости доставки, в зависимости от времени, выбранного пользователем. Для этого добавил поле — Удобное время доставки, в нем интервалы. У каждого интервала своя стоимость плюсом.
Скажите, как данные из этого поля передать в скрипт своего класса расчета стоимости доставки?
Сам расчет стандартный
пытаюсь сделать расчет стоимости доставки, в зависимости от времени, выбранного пользователем. Для этого добавил поле — Удобное время доставки, в нем интервалы. У каждого интервала своя стоимость плюсом.
Скажите, как данные из этого поля передать в скрипт своего класса расчета стоимости доставки?
Сам расчет стандартный
class msDeliveryCourierHandler extends msDeliveryHandler implements msDeliveryInterface {
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
$freedeliverysumm = 1299;
$delivery_time = 28; // Значение интервала
$cart = $order->ms2->cart->status();
$zakaz = $order->get();
$cart_cost = $cart['total_cost'];
if($cart_cost > $freedeliverysumm){
return $cost;
}else{
$delivery_cost = parent::getCost($order, $delivery, $cost);
return $delivery_cost;
}
}
}
FormIt сохранить поля которых нет в форме
Здравствуйте! Столкнулся с таким вопросом.
Есть формы которые отправляют определенные данные и сохраняют их в FormIt. Но мне нужно чтобы дополнительно FormIt сохранял определенные данные, которых нет в форме (по определенным причинам я не хочу их там указывать, даже скрывая эти поля).
И вот даже не могу понять в какую сторону копать. В идеале это было бы сделать Плагин, чтобы в каждую форму не писать новый Хук, но и с Хуком в целом подойдет.
В документации ничего такого не нашел. Посмотрел Сниппет FormItSaveForm там есть такое:
Есть формы которые отправляют определенные данные и сохраняют их в FormIt. Но мне нужно чтобы дополнительно FormIt сохранял определенные данные, которых нет в форме (по определенным причинам я не хочу их там указывать, даже скрывая эти поля).
И вот даже не могу понять в какую сторону копать. В идеале это было бы сделать Плагин, чтобы в каждую форму не писать новый Хук, но и с Хуком в целом подойдет.
В документации ничего такого не нашел. Посмотрел Сниппет FormItSaveForm там есть такое:
$newFormArray = array(
'form' => $formName,
'date' => time(),
'values' => $dataArray,
'ip' => $modx->getOption('REMOTE_ADDR', $_SERVER, ''),
'context_key' => $modx->resource->get('context_key'),
'encrypted' => $formEncrypt,
'encryption_type' => $encryptionType,
'hash' => $formHashKey,
);