Вячеслав Варов

Вячеслав Варов

С нами с 06 сентября 2016; Место в рейтинге пользователей: #232

Перелинковка товаров по опциям

Добрый день!

Подскажите куда копать, необходимо сделать перелинковку товаров внутри одной категории, по опциям вот наглядный пример:
pkf-m.ru/product/shveller-10p-st-09g2s/

тут в опциях указан размер, и по ним происходит перелинковка.

Думал сделать через msproducts, и попробовать сгруппировать по опция-значение, но что-то думаю не туда копаю
Вячеслав Варов
02 августа 2022, 17:55
modx.pro
373
0

Перенос интернет магазина на MODX

Требуется принести сайт corp-mebel.ru с сохранением функционала. Просьба предоставить стоимость с учётом необходимых дополнений, а так же предоставить две цены, с товарами и без, и сроки.

TG: @monterarty
Вячеслав Варов
25 июля 2022, 22:43
modx.pro
440
0

Как разрабатывают сложные информационные порталы на MODX?

Всем привет!
Наткнулся на сайт kronvest.net, он на modx, обратил внимание на большое количество страниц и у каждой страницы своя структура. Задался вопросом как все эти страницы могут быть представлены в админке? Если на Wordpress есть elementor, wp page builder и др, то на modx такого же нет. Неужели это реализовано огромной кучей tv параметров, или вообще просто на каждую страницу свой html шаблон?
Вячеслав Варов
18 июля 2022, 18:39
modx.pro
521
0

Нужна помощь определить ошибку из журнала

Здораствуйте!
Помогите куда копать по поиску и исправлению ошибки?

уже перерыл шаблоны и чанки на предмет {'action': также искал через modDevTools, ничего не находит. Может как-то можно более точно настроить режим логирования, чтобы отображалось имя чанка или шаблона для более удобного поиска?

[2022-07-10 23:04:08] (ERROR @ /home/v/vcode/varmedia.ru/public_html/core/components/pdotools/model/pdotools/pdotools.class.php : 999) Unexpected token ':' in 94cdb8de53f6309b13cce23dc35842a7 line 57, near '{'action':' <- there
Вячеслав Варов
10 июля 2022, 23:09
modx.pro
349
0

Создание большого количества ресурсов >100000 через MODX API

Здравствуйте!
Необходимо создать большое количество ресурсов через API, написал следующий скрипт:
<?php
$q = $modx->newQuery('modResource');
// условие по необходимости
$q->where(array('pagetitle:LIKE' => '%Ремонт двигателя%', 'template' => '5', 'id:>' => 0, 'id:<' => 1000));
$resources = $modx->getIterator('modResource', $q);
$array = [
 ['Замена клапана',1200,'zamena-klapana'],
['Замена клапанной крышки',3800,'zamena-klapannoj-kryishki'],
['Замена натяжителя цепи',6800,'zamena-natyazhitelya-czepi'],
['Замена опоры двигателя',2490,'zamena-oporyi-dvigatelya'],
['Замена коленчатого вала двигателя',4200,'zamena-kolenchatogo-vala-dvigatelya' ],
['Замена поддона картера двигателя',3800,'zamena-poddona-kartera-dvigatelya' ],
['Замена прокладок свечных колодцев',2400,'zamena-prokladok-svechnyix-kolodczev' ],
['Ремонт коленчатого вала двигателя',4200,'remont-kolenchatogo-vala-dvigatelya' ],
['Замена прокладки ГБЦ',3000,'zamena-prokladki-gbcz' ],
['Замена прокладки клапанной крышки',3800,'zamena-prokladki-klapannoj-kryishki' ],
['Замена радиатора охлаждения',4900,'zamena-radiatora-oxlazhdeniya' ],
['Регулировка клапанов',4100,'regulirovka-klapanov' ],
['Замена верхнего рычага подвески',800,'zamena-verxnego-ryichaga-podveski' ],
['Замена передней стойки стабилизатора',490,'zamena-perednej-stojki-stabilizatora' ],
['Замена сайлентблока заднего рычага',590,'zamena-sajlentbloka-zadnego-ryichaga' ],
['Замена сайлентблоков нижнего рычага',690,'zamena-sajlentblokov-nizhnego-ryichaga' ],
['Замена сайлентблоков переднего рычага',880,'zamena-sajlentblokov-perednego-ryichaga' ],
['Замена сайлентблоков продольного рычага',1200,'zamena-sajlentblokov-prodolnogo-ryichaga' ],
['Замена сайлентблоков развального рычага',1100,'zamena-sajlentblokov-razvalnogo-ryichaga' ],
['С/у двигателя',13900,'s/u-dvigatelya'],

['Замена ГБЦ',3900,'zamena-gbcz'],
['Замена маслосъемных колпачков',2400,'zamena-maslosemnyix-kolpachkov'],
['Ремонт клапанов',900,'remont-klapanov'],
['Ремонт форсунок',900,'remont-forsunok'],

['Замена вкладышей коленвала',4000,'zamena-vkladyishej-kolenvala'],
['Замена гидрокомпенсаторов',4900,'zamena-gidrokompensatorov' ],
['Замена головки блока цилиндров',3900,'zamena-golovki-bloka-czilindrov' ],
['Замена двигателя',14900,'zamena-dvigatelya'],
['Замена заднего сальника коленвала (при снятой КПП)',700,'zamena-zadnego-salnika-kolenvala-(pri-snyatoj-kpp)'],
['Замена направляющих втулок клапанов',3200,'zamena-napravlyayushhix-vtulok-klapanov' ],
['Замена переднего сальника коленвала',5500,'zamena-perednego-salnika-kolenvala' ],
['Замена поддона картера',900,'zamena-poddona-kartera' ],
['Замена подушек двигателя',1100,'zamena-podushek-dvigatelya'],
['Замена поршневой группы',2490,'zamena-porshnevoj-gruppyi'],
['Замена поршневых колец',1985,'zamena-porshnevyix-kolecz' ],
['Замена приводного ремня',980,'zamena-privodnogo-remnya' ],
['Замена распредвала',4990,'zamena-raspredvala' ],
['Замена сальника коленвала',4290,'zamena-salnika-kolenvala' ],
['Замена сальника распредвала',3290,'zamena-salnika-raspredvala'],
['Замена турбины',2990,'zamena-turbinyi' ],
['Замена цепи ГРМ',7800,'zamena-czepi-grm' ],
['Капитальный ремонт двигателя',39900,'kapitalnyij-remont-dvigatelya'],
['Переборка двигателя',12000,'pereborka-dvigatelya' ],
['Ремонт блока цилиндров',9890,'remont-bloka-czilindrov'],
['Ремонт ГБЦ',24900,'remont-gbcz'],
['Ремонт и замена коленчатого вала (коленвала)',4990,'remont-i-zamena-kolenchatogo-vala-(kolenvala)' ],
['Ремонт и замена масляного насоса',4990,'remont-i-zamena-maslyanogo-nasosa' ],
['Ремонт радиатора охлаждения',4990,'remont-radiatora-oxlazhdeniya'],
['Ремонт системы охлаждения',2000,'remont-sistemyi-oxlazhdeniya' ],
['Ремонт турбины',1000,'remont-turbinyi' ],
['Снятие/установка/замена форсунок высокого давления',1900,'snyatie/ustanovka/zamena-forsunok-vyisokogo-davleniya']
];
foreach($resources as $resource) {
    $id = $resource->get('id');
   foreach($array as $v){
       $resource2 = $modx->getObject ('modResource', array('pagetitle'=>$v['0'], 'parent' => $id));
    
if(!$resource2){
  $response = $modx->runProcessor('resource/create', array(
    'template' => 17,
    'isfolder' => 0,
    'tvs' => 1,
    'tv41' => $v[1]+round(rand(10, 90), -1),
    'published' => 0,
    'createdby' => 1,
    'parent' => $id,
    'pagetitle' => $v['0'],
    'createdon' => date("Y-m-d H:i:s" , 1646952099),
    'class_key' => 'modDocument',
  ));
  if ($response->isError()) {
      return $modx->error->failure($response->getMessage());
    }
    $modx->cacheManager->clearCache();
}
       
   }
}
суть скрипта в следующем, находим родительские ресурсы по условию и создаем в них дочерние из списка.

Проблема в том что приходится запускать несколько раз скрипт с условием отбора родительских ресурсов:
'id:>' => 0, 'id:<' => 1000
затем
'id:>' => 1000, 'id:<' => 1500
и тд так как если без этого условия скрипт просто зависает. Возможно ли как-то обойти это и оптимизировать скрипт, чтобы создать ресурсы за один проход?

PS скрипт запускаю через modx console, видимо происходит остановка скрипта из-за длительности его выполнения
Вячеслав Варов
12 марта 2022, 12:59
modx.pro
618
0

Расширение всплывающего меню ресурса в админке

Добрый день!
Подскажите как добавить пункт в выпадающее меню при клике правой кнопкой мыши на ресурс, там есть пункт «снять с публикации» хочу добавить пункт «исключить из поиска» и менять поле searchable
Вячеслав Варов
15 июня 2020, 15:54
modx.pro
396
0

Modx_session весит 4гб

Добрый день!
Подскажите пожалуйста как не хранить сессии в бд? В системных настройках параметры установлены:
cache_db_session: false
cache_db_session_lifetime: 600

как можно автоматически чистить сессии, так как хостер ругается на большой обьем базы данных
Вячеслав Варов
06 июня 2020, 19:05
modx.pro
862
0

Несколько доменов - один сайт

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

Подскажите пожалуйста, можно ли сделать без контекстов мультидоменность сайта?
Необходимо чтобы с 60 разных доменных имен открывался один сайт на modx, шаблон/страница все одинаковое, через контексты придется копировать множество страниц для каждого домена, что усложняет реализацию.
Вячеслав Варов
27 мая 2020, 12:11
modx.pro
782
0

Ошибка "Произошла ошибка при регистрации действий менеджера."

После установки debugParser на сайте начали долго сохраняться ресурсы/шаблоны/чанки/сниппеты и в логах постоянно ошибка:
[2020-05-24 20:28:48] (ERROR @ /var/www/u0429794/data/www/mytopsto.ru/core/xpdo/om/xpdoobject.class.php : 1452) Error 23000 executing statement:
INSERT INTO `modx_manager_log` (`user`, `occurred`, `action`, `classKey`, `item`) VALUES (1, '2020-05-24 20:28:48', 'propertyset_update_from_element', 'modPropertySet', 'modTemplate 4 Default')
Array
(
    [0] => 23000
    [1] => 1062
    [2] => Duplicate entry '0' for key 'PRIMARY'
)

[2020-05-24 20:28:48] (ERROR @ /var/www/u0429794/data/www/mytopsto.ru/core/model/modx/modx.class.php : 1969) Произошла ошибка при регистрации действий менеджера.
Не срабатывает автоинкремент на id с чем это может быть связанно?
Вячеслав Варов
24 мая 2020, 20:29
modx.pro
1 203
0

Группировка выдачи pdoResources по родителю

Всем привет!
Столкнулся с проблемой, вывожу сниппетом pdoResources категории и дочерние элементы указывая &depth = `1`,
выводит сперва все дочерние элементы, а после список категорий, как можно сделать так, чтобы выводился родитель, а следом его дочерние элементы, основным критерием решения является избежать вызов сниппета pdoResources внутри чанка (так задача решается очень просто в ущерб производительности)
Вячеслав Варов
24 мая 2020, 00:43
modx.pro
1
537
0