Сергей

Сергей

С нами с 10 марта 2015; Место в рейтинге пользователей: #102

msPromoCode2 ломается после добавления плагина

Добрый день!
При создании любого кастомного плагина с событием msOnGetProductPrice. (Даже если это пустой). msPromoCode2 перестает работать, не применяются промо коды и выводится надпись «В корзине нет товаров, соответствующих этому промо-коду».

Может кто сталкивался?

У меня несколько групп пользователей и для них написан этот плагин, что бы была нужная цена в корзине.
Сергей
11 марта 2024, 13:02
modx.pro
1 033
0

phpThumbOf modx 3

Если кому-то требуется, что бы был ресайз фотографий на modx 3 по средствам phpThumbOf, то необходимо внести правки.

В сниппете удалить
if (!$modx->loadClass('modPhpThumb',$modx->getOption('core_path').'model/phpthumb/',true,true)) {
    $modx->log(modX::LOG_LEVEL_ERROR,'[phpThumbOf] Could not load modPhpThumb class.');
    return '';
}


И заменить строчку через сервер в файле root>/core/components/phpthumbof/model/phpthumbof/phpthumbof.class.php. #193

$this->phpThumb = new MODX\Revolution\modPhpThumb($this->modx);
Источник

Я для себя искал решение, может кому пригодится.
Сергей
07 ноября 2023, 13:54
modx.pro
2
1 333
+2

Заражение сайтов вирусами

Всем привет, видел, что кто-то поднимал уже не так давно тему про вирусы. Я поймал на двух сайтах вирусы.
Версия 2.8.3 При чем так-же был заражен сайт на wp. Кто-то еще сталкивался с подобной ситуацией. На данным момент поставил сканировать все сайты. Если есть какие-то новости и решение данных уязвимостей, буду признателен.
Сергей
24 августа 2023, 12:12
modx.pro
379
0

Доработка API для выгрузки товаров в minishop2

Всем привет. Настроена выгрузка товаров по средствам API, но как бывает, программист оплату получил и пропал, косяки остались(

Вот ряд доработок, которые надо решить:
1. Нагрузка на сервер (возможно, процесс не завершается, много оперативки уходит на mysql). Если быть точнее, то точно не завершается.
2. Почему-то при повторной выгрузке опции товаров стираются, но не у все, выборочно
3. Не все товары выгружаются.

Какая доработка требуется:
У главных товаров, есть характеристика, пример
<attr_1_key name="Виды нанесений">УФ-печать, Гравировка</attr_1_key>
Нужно добавить эту опцию и под-товарам, определить это можно по
<parent_sku description="внутренний артикул группировки вариаций">18016.01</parent_sku>
Если
<sku>18016.01</sku>
соответствует, то это главный товар.

В итоге должна грузиться вся информация корректно и не нагружать сервер незавершенными задачами.
Сайт и доступы для ознакомления предоставлю заинтересованным в сотрудничестве.

Надеюсь на разумную стоимость.
Сергей
13 июля 2023, 13:22
modx.pro
452
0

Давайте делиться мнениями "Крик души")

Друзья, всем привет!
Заранее извиняюсь, если в чем-то не прав, ни кого не хотел обидеть, хочу просто высказаться.
Долго не решался написать этот пост. (Извиняюсь если не туда опубликовал в «Вопросы») но хотел привлечь максимум внимания.

Предыстория.
Давно занимаюсь созданием сайтов (я не программист, наверное больше веб-мастер) и перешел с wp на modx, наверное уже лет 7 назад. Честно говоря modx покорил сразу. Но есть и обратная сторона медали. Из-за меньшей популярности развитие сообщества и компонентов очень на низком уровне, я сейчас говорю о русскоязычном комьюнити.

Хотелось обсудить несколько компонентов.
Если взять minishop2 он несомненно развился и вырос, но по прежнему если сравнить его с wp (а это не разу не магазин) то на тот момент он был даже удобнее. Например работа с опциями там была лучше, кеширование и фильтр, лучше (да это не только относится конкретно в minishop2).

Сергей
05 июня 2023, 13:55
modx.pro
1 411
+1

Настройки mSync для соединения с 1с (после обновления Apache/2.4.6 CVE-2023-25690)

Может кому пригодится, я эту проблему решал весь день.

После обновления Apache/2.4.6 CVE-2023-25690 появились проблемы соединения с 1с по средствам компонента mSync

Fri Apr 07 11:39:22.840337 2023] [rewrite:error] [pid 3559] [client 185.xx.xxx.xxx:58776] AH10411: Rewritten query string contains control characters or spaces

Если у вас Apache то не создавайте или удалите .htaccess в папке /assets/components/msync/ (про который написано в документации) — возможно его можно было бы просто изменить, но как я не пытался, рабочую версию я не смог найти.

Если CGI я не нашел решения… возможно для него нужен .htaccess но точно не тот, что в документации.

Еще одна странность, я создал два одинаковых сайта на разных серверах, обновил ПО на обоих, на одном работало без удаления .htaccess на другом ни как не работало, выдает 403.

Может кто-то тоже с толкнулся с подобной ошибкой, буду признателен обратной связи.
Сергей
07 апреля 2023, 16:33
modx.pro
871
+1

Необходимо доработать выгрузку по средствам модуля allGifts

5 4 294 967 295
Выгрузка настроена из сервисов www.stan.su/ и gifts.ru/ (модуль allGifts)

Было проделано не мало работы, но и осталось еще решить несколько задач:
1. Выгружать все склады для актуальности остатков. Сливать одинаковые товары (на данный момент есть проблема, когда товар заканчивается, он перестает быть главным и создается новый – по сути есть параметр группы товаров, можно делать проверку по нему)
2. Слить пол и цвет (это уже делали, но почему-то не корректно отображается на сегодняшний день)
3. Поправить зависимость опций (не работает при выборе по фотографии)

Сайт, на который настроена выгрузка вышлю по запросу.

От вас необходимы сроки и стоимость. Задача не самая простая, прошу писать тем, кто справится.

Используются компоненты:
Minishop2
msOptionsPrice2
allGifts
Сергей
13 декабря 2022, 10:09
modx.pro
468
0

userFields minishop2 mobilephone

Добрый день!
Почему данная конструкция может на рабоать?
{$_modx->runSnippet('!msOrder', ['userFields' => ['phone' => 'mobilephone']])}
Задача, при оформлении заказа, дублировать поле телефона в поле мобильный телефон (Если честно не совсем понимаю почему у minishop2 используется не мобильный телефон).
Сергей
08 декабря 2022, 13:04
modx.pro
582
0

Плагин на событие mSyncOnProductOffers

2 1
Добрый день!
Помогите написать не большой плагин на событие 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;
}
Сергей
06 декабря 2022, 14:28
modx.pro
488
0

Плагин на событие mSyncOnProductOffers

Добрый день!
Помогите написать не большой плагин на событие 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;
}
Сергей
06 декабря 2022, 13:54
modx.pro
1
677
0