mSync и Сбис - импорт остатков по складам

Здравствуйте!
К сожалению, период бесплатной поддержки автора закончился, поэтому пишу сюда. Есть ли здесь люди, разбирающиеся в мСинке? Нужен совет.
Задача была такая — синхронизировать Сбис и сайт. mSync для этого вполне подошел. Затем клиенту понадобилось выгружать остатки отдельно по каждому складу. И тут возник вопрос, как это сделать.
pandaworks
06 сентября 2023, 12:24
modx.pro
2
448
0

[СДЕЛАЙ САМ] Поиск с mSearch2 и SendIt без перезагрузки страницы и динамическими параметрами

Приветствую, думаю ни для кого не секрет, что mSearch2 не умеет показывать результаты поиска без перезагрузки страницы, а pdoPage не умеет «на лету» менять параметры. На своём сайте я захотел сделать морфологический поиск услуг без перезагрузки, с постраничной навигацией и возможностью выбирать категорию поиска. Ниже опишу чтобы для этого было предпринято.
Артур Шевченко
06 сентября 2023, 10:47
modx.pro
3
856
+13

MiniShop3 для MODX3. Что нового.

Всем привет. Продолжаю разработку компонента, а заодно рассказываю — что нового.

Если прошлые месяцы основное внимание было уделено админке и администрированию, то в августе фокус внимания сместился на фронт.

Начал с того, что переделал сниппет msProducts. Подробности ниже.
Николай Савин
05 сентября 2023, 12:03
modx.pro
935
+21

Как Увеличить скорость работы сайта

Всем доброго времени суток. Очень надеюсь на помощь людей которые занимались оптимизацией скорости работы сайта на modx.

Что имеем.
MODX Revolution 2.8.5
Minishop2 последняя версия

Фильтрация работает через mfilter2

Имеет категория товаров на ней с помощью плагина debugparser смотрим скорость отдачи страницы
333
Другая категория выглядит вот так
234

Все перевел на fenom и на файлы. Но скорость все равно оставляет желать лучше.

Товаров всего около 7к на двух языках.

Подскажите что можно сделать для увеличения скорости работы сайта. Спасибо.
Maks
05 сентября 2023, 06:02
modx.pro
529
0

Подскажите как брать ошибку!? PHP warning: Invalid argument supplied for foreach()

Добрый вечер!

Пытаюсь спарсить XML фаил с помощью catalogfill вроде в логах показывает массив но не добавляет их в TV:

[0] => Array
(
[] => Array
(
[0] => true
[1] => opt.globusceramica.ru/catalog/grespania/alabaster/13/
[2] => 3790
[3] => RUR
[4] => 96
[5] => 45x120
[6] => Глянцевая
[7] => Мрамор
[8] => Бежевый
[9] => 45
[10] => м2
[11] => 5830
)

[tv1] => opt.globusceramica.ru/upload/iblock/cd3/1ntxgpep3rui5c6xajqg8f14clrrltqw.jpg
[pagetitle] => ALABASTER ALABASTER BEIGE 45х120
)

Кусок из XML фаила именно параметры с названием не хочет
<param name="Размер"45x120</param>
Кусок из XML
<offer id="14" available="true">
     <currencyId>RUR</currencyId>
     <categoryId>96</categoryId>
     <picture>http://opt.globusceramica.ru/upload/iblock/ef2/c26wewu3mp4gqubj539u1n5i7s304o4u.jpg</picture>
     <name>ALABASTER ALABASTER TEBAS 45х120</name>
     <param name="Размер">45x120</param>
     <param name="Поверхность">Глянцевая</param>
     <param name="Рисунок">Мрамор</param>
     <param name="Color">Бежевый</param>
     <param name="РРЦ">9999</param>
 </offer>

Ошибку выдает в этом месте foreach($node as $k => $v) {:

* Переводит XML объект в массив, сохраняет значения и их xpath
     * 
     */
    public function parceXML($xmlObject, $out=array(), $level=0){
        
        //foreach($xmlObject->attributes() as $a => $b) {
        //    echo $a,'="',$b,"\"\n";
        //}
        
        foreach ((array) $xmlObject as $key => $node){
            
            //Атрибуты элемента
            if($key=='@attributes'){
                foreach($node as $k => $v) {
                    $this->keys[1][] = '@attributes.'.$k;
                    $this->values[] = trim($v);
                }
                continue;
            }
            
            if(is_object($node) || is_array($node)){
                
                //var_dump(count($this->keys[0]),$level,$key,implode('/',$this->keys[0]));
                //var_dump(implode('/',$this->keys[0])); echo "\n\n";
                
                //убираем с конца массива ключей значения, которые не соответствуют текущему уровню вложенности
                if(/*$level > 0 && */count($this->keys[0]) > $level){
                    $this->keys[0] = $this->array_mpop($this->keys[0],(count($this->keys[0]) - $level));
                }else{
                    $level = count($this->keys[0]);
                }
                if(!is_numeric($key)) $this->keys[0][] = trim($key);
                
                $out[$key] = $this->parceXML($node,$out,$level+1);
                
            }else{
                $this->keys[1][] = implode('/',array_merge($this->keys[0],array($key)));
                $this->values[] = trim($node);
                $out[$key] = trim($node);
            }
        }
        
        return $out;
    }
Подскажите где исправить!?
Дмитрий
04 сентября 2023, 18:47
modx.pro
705
0

Как написать условие if на множество ресурсов и родителей на Fenom

Всех приветствую, есть поле артикул, которое не нужно выводить у ряда категорий, на данный момент условие реализовано следующим образом:
{set $key = ["31","32" ,"32" ,"33" ,"34"]}
{if $_modx->resource.id in list $key}
<div class="reward"><span>Артикул:</span> <span class="item">[[+article]]</span></div>
{/if}
То есть главный родитель 31, а остальные — его подкаталоги. Но если подкаталоги добавляются, что бы не лезть в шаблон, можно ли как то сделать что бы у всех подкаталогов родителя 31 скрывался артикул?
Константин
04 сентября 2023, 11:49
modx.pro
1
1 065
0

Проблемы с ajax пагинацией в pdoPage

Включаю ajax пагинацию при скроле и вижу эффект такой, что как бы элементы на странице обновляются, но новые элементы не появляются, показываются только те же.
Я включил:
pdoPage.callbacks.after = function (config, response) {
  console.log('Конфиг после загрузки!', config);
  console.log('Ответ от сервера!', response);
}
Вижу, что ответ от сервера корректный, т.е. получаю новые элементы, но на странице их не вижу. Пробовал менять со скрола на кнопку — эффект тот же.

Помогите, куда смотреть.
Алексей
03 сентября 2023, 20:25
modx.pro
367
0

Контент основного языка в Localizator

Приветствую!

Настраиваю плагины Localizator, делаю основной язык Русский и дополнительных 2, затем у ресурсов заполняю на основном языке стандартные поля, а во вкладке Локализации перевод для других двух.

В шаблоне приходится вначале делать проверку на основной язык и выводит поля либо стандартными методами для основного либо способами автора для дополнительных языков.

Подскажите кто разобрался в плагине правильно ли я делаю или есть способ без проверки на основной язык?
Konstantin
03 сентября 2023, 10:20
modx.pro
630
0

Очистка папок с кешем файлов сайта и кеша сайта по cron

Доброе!
Делал кто такое? Или кто может сделать и по чём?
1) поиск папок на сайте с заданными названиями (cache, cache-image и т.д.). Названия папок можно задавать в самом скрипте.
2) очистка найденных папок.
3) сброс кеша сайта.
Проблема при хранении картинок на сторонних серверах типа Selectel и генерации превьюшек через pThumb. За короткое время собирается большой объём файлов на сервере.
Нужно по cron периодически очищать эти папки с кешами картинок и кеш сайта.
Названия папок можно задавать прямо в sh скрипте.
Любые варианты решения проблемы приветствуются.
Решение после тестирования будет опубликовано бесплатно для всех.
Сергей Самусев
01 сентября 2023, 22:30
modx.pro
386
0