Вопросы
Создание большого количества ресурсов >100000 через MODX API
Здравствуйте!
Необходимо создать большое количество ресурсов через API, написал следующий скрипт:
Проблема в том что приходится запускать несколько раз скрипт с условием отбора родительских ресурсов:
PS скрипт запускаю через modx console, видимо происходит остановка скрипта из-за длительности его выполнения
Необходимо создать большое количество ресурсов через 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, видимо происходит остановка скрипта из-за длительности его выполнения
Sortby в pdomenu
Здравствуйте!
Вывожу список ресурсов в 1ом меню таким образом:
Вывожу список ресурсов в 1ом меню таким образом:
[[pdoMenu?
&parents=`95`
&showHidden=`0`
&showUnpublished=`0`
&useWeblinkUrl=`0`
&outerClass=`child`
&innerClass=`child`
&parentClass=`has-child`
&levelClass=`level-`
&firstClass=`0`
&lastClass=`0`
&tplOuter=`@INLINE [[+wrapper]]`
&tplCategoryFolder=`@INLINE <li [[+classes]]><span>[[+menutitle]]</span><span class="toggler"></span>[[+wrapper]]</li>`
&tplParentRow=`@INLINE <li [[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a><span class="toggler"></span>[[+wrapper]]</li>`
&resources=`114,106,121,2011,132,141,1335,128,137,1831,1965,1995,5093,5127,5160,5172,5218,5221,5224,5227,5261,5451,5601,5564,`
]] Ошибка в minishop2 action.php после переноса сайта
Добрый день.
После переноса сайта при добавлении товара в корзину возникают ошибки
Fatal error: require_once(): Failed opening required '/manager.class.php' (include_path='.:') in /var/www/u1613500/data/www/spklinker.ru/core/components/minishop2/controllers/mgr/settings.class.php on line 4
Наверное это как то связано, хз.
У кого-нибудь есть хоть какие-нибудь предположения в чем может быть проблема?
После переноса сайта при добавлении товара в корзину возникают ошибки
Warning: dirname() expects exactly 1 parameter, 2 given in /var/www/u1613500/data/www/spklinker.ru/assets/components/minishop2/action.php on line 12Также происходит ошибка в админке когда я пытаюсь зайти Пакеты -> minishop2 -> Настройки:
Warning: require(/index.php): failed to open stream: No such file or directory in /var/www/u1613500/data/www/spklinker.ru/assets/components/minishop2/action.php on line 12
Fatal error: require(): Failed opening required '/index.php' (include_path='.:') in /var/www/u1613500/data/www/spklinker.ru/assets/components/minishop2/action.php on line 12
Fatal error: require_once(): Failed opening required '/manager.class.php' (include_path='.:') in /var/www/u1613500/data/www/spklinker.ru/core/components/minishop2/controllers/mgr/settings.class.php on line 4
Наверное это как то связано, хз.
У кого-нибудь есть хоть какие-нибудь предположения в чем может быть проблема?
Вывод цен в зависимости от производителя
Всем привет, как сделать вывод текста «Цена по запросу» только по определенным производителям?
К примеру, если бренд Nokia или iphone, то цена по запросу, если Xiaomi, то цена та, что в карточке.
Пробую сделать условие, не получается…
К примеру, если бренд Nokia или iphone, то цена по запросу, если Xiaomi, то цена та, что в карточке.
Пробую сделать условие, не получается…
{if $_pls['vendor.name']: 'nokia' ,'iphone'}
Цена по запросу
{else}
[[+price]]
{/if} Как добавить коэффициент умножения на цены miniShop2 и msOptionsPrice2
Нужно чтобы в минишоп попадали уже цены умноженные на этот коэффициент. Часть товаров с опциями msop2.
Еще на сайте есть текстовые цены на доп услуги, их тоже как-то менять надо на этот коэффициент.
Еще на сайте есть текстовые цены на доп услуги, их тоже как-то менять надо на этот коэффициент.
Компонент Tagger и htaccess на TimeWeb
Всем добрый день.
Пытаюсь заставить компонент Tagger выдавать «красивые» ссылки на теги. Но на хостинге TimeWeb не работает запись в htaccess вида:
Может ли кто-то подсказать, где я допустил ошибку в правиле? Или может у кого-то есть опыт настройки этого под TimeWeb?
Пытаюсь заставить компонент Tagger выдавать «красивые» ссылки на теги. Но на хостинге TimeWeb не работает запись в htaccess вида:
RewriteRule ^vyvod-tegov/(.*)$ vyvod-tegov/?tag=$1 [L]Ссылки в чанке формируются следующим образом:<a href="[[~145]][[+alias]]">[[+tag]]</a>Как я понимаю, правило в htaccess должно подхватывать значение «alias» и подставлять его в преобразованные урл после «tag=». Но ничего не срабатывает.Может ли кто-то подсказать, где я допустил ошибку в правиле? Или может у кого-то есть опыт настройки этого под TimeWeb?
Как подружить filetranslit и fastupload?
Получает если заливать файл латинскими буквами, без пробелов и нижних подчёркиваний, всё норм, но если что-то другое. всё, показывает что картинка сломана, путь показывает не такой какой он есть. Допустим такой fastupload tv. prnt.sc/cSFatPKsx_Sz
Если не использовать fastupload всё норм.
Если не использовать fastupload всё норм.
Отображение заголовка с 2-мя опциями в Seofilter Modx
Добрый вечер!
Подскажите пожалуйста, как в СЕО странице отобразить 2 опции? Например, если одна опция, я в в графу «Шаблон для названия страниц в меню и в хлебных крошках (синтаксис как в SEO):» прописываю — {$value}, и в хлебных крошках и заголовка указывается значение опции, на которую нажали в фильтре. Например, опция «размер», есть в фильтре от 25 до 30, человек нажимает в фильтре 28 — в хлебных крошках и в заголовке отображается 28.
Столкнулся с тем, что необходимо прописать значение 2-ух опций, например еще и цвета. Т.е. я как хотел, человек нажимает в фильтре цвет «Зеленый», а потом размер 28, то в хлебных крошках должно отобразится «Зеленый 28». Если ставлю просто одно {$value} система игнорирует и просто прописывает заголовок и в хлебных крошках название категории.
Просьба помочь, как прописать, чтобы выводились значения 2-ух опций?
Если прописываю вот так {$cvet}x{$razmer}, то все равно подтягивает данные родительской категории «Детская обувь».

Заранее благодарен.
Подскажите пожалуйста, как в СЕО странице отобразить 2 опции? Например, если одна опция, я в в графу «Шаблон для названия страниц в меню и в хлебных крошках (синтаксис как в SEO):» прописываю — {$value}, и в хлебных крошках и заголовка указывается значение опции, на которую нажали в фильтре. Например, опция «размер», есть в фильтре от 25 до 30, человек нажимает в фильтре 28 — в хлебных крошках и в заголовке отображается 28.
Столкнулся с тем, что необходимо прописать значение 2-ух опций, например еще и цвета. Т.е. я как хотел, человек нажимает в фильтре цвет «Зеленый», а потом размер 28, то в хлебных крошках должно отобразится «Зеленый 28». Если ставлю просто одно {$value} система игнорирует и просто прописывает заголовок и в хлебных крошках название категории.
Просьба помочь, как прописать, чтобы выводились значения 2-ух опций?
Если прописываю вот так {$cvet}x{$razmer}, то все равно подтягивает данные родительской категории «Детская обувь».

Заранее благодарен.
Как в formit передать теги?
как в formit передать теги
т.е есть определенная услуга, она находится в теге p
т.е есть определенная услуга, она находится в теге p
Как добавить новую локлизацию в minishop2?
нужно добавить новый язык в минишоп, чтобы при смене контекста выходили соответственные уведомления, а не допустим на англ языке