REGEXP в getCollection
Подскажите, можно ли как-то в modRestController, в методе getCollection использовать REGEXP в запросе?
Отключить все модификации товара если его нет в файле
На сайте установлен msOptionsPrice2. Есть файл domovoy.xlsx с артиклями модификаций. И есть php
Буду благодарен за любую помощь и наводку
if ( $xlsx = SimpleXLSX::parse(dirname(__FILE__).'/assets/bitrix/domovoy.xlsx') ) {
$belor = SimpleXLSX::parse(dirname(__FILE__).'/assets/bitrix/domovoy.xlsx');
$importBarcodeArr = $belor->rows();
$importBarcodeCount = 0;
foreach($importBarcodeArr as $k => $cellY){
if($k == 0){
continue;
}
if( $modification = $modx->getObject('msopModification', array('article'=> $cellY[0] )) ){
echo 'FOUND barcode '.$cellY[0].'</br>';
$modification->active = 1;
$modification->save();
}
}
echo $importBarcodeCount.' - done';
} else {
echo SimpleXLSX::parseError();
}
который включает модификацию, если артикль есть в файле. Вопрос в том, как отключить все остальные модификации, которых нет в файле?Буду благодарен за любую помощь и наводку
Динамический input
Доброе утро, помогите решить проблему
добавляю поле в FormIt динамически
но в БД записывается просто Array (а должны все значения из полей)
подскажите куда копать
добавляю поле в FormIt динамически
но в БД записывается просто Array (а должны все значения из полей)
подскажите куда копать
....
<input type="text" value="[[!+title]]" class="form-control" id="title" name="title[]" placeholder="79991112233">
...
сниппетif (!$_POST['list']) {
$processor = '_list/create';
} else {
$_POST['id'] = $_POST['list'];
$modx->setPlaceholder('id', $_POST['id']);
$processor = 'list/update';
}
$processorProps = array('processors_path' => $modx->getOption('core_path')
. 'components/list/processors/');
$response = $modx->runProcessor($processor, $_POST, $processorProps);
if ($response->isError()) {
$hook->addError('process_error', $response->getMessage());
return false;
}
return true;
нужен совет, но не про modx
Господа и дамы, нужно совет по docker.
Просто идеи или может кто-то на практике решал такую проблему.
Проблема — это проброс реального IP адреса клиента в php контейнер.
Два контейнера, в одном работает nginx, в другом — php (на самом деле есть и другие контейнеры в этой сети, но они сейчас не существенны).
Просто идеи или может кто-то на практике решал такую проблему.
Проблема — это проброс реального IP адреса клиента в php контейнер.
Два контейнера, в одном работает nginx, в другом — php (на самом деле есть и другие контейнеры в этой сети, но они сейчас не существенны).
Хлебные крошки в виде меню
Может уже кто сталкивался и делал подобное? Как реализовать хлебные крошки в виде меню, у категорий вывести родителей в основном стоит задача сделать это для категорий minishio2
Fenom - Изменение переменной в Block
Приветствую!
Реально ли такое провернуть, есть шаблон с id например 7, в нем есть вызов mFilter
Есть другой шаблон с id например 8, наследующий 7ой шаблон но в нем меняется одна переменная ну или несколько в массиве $filterParams который объявлен в 7ом шаблоне
Пока писал придумал выход, но все же интересно
p.s. Выход
Вызов заносим в чанк и уже в чанк передаем переменные
— Основной шаблон(id 7)
— С наследованием(id 8)
Реально ли такое провернуть, есть шаблон с id например 7, в нем есть вызов mFilter
<?
....
{set $filterParams = []}
{block 'filterParams' }{/block}
{set $conf = array_merge([
'paginator' => 'pdoPage@pg',
'class' => 'msProduct',
'element' => 'msProducts',
'setMeta' => '1',
'includeThumbs' => 'small',
'limit' => 21,
'tplOuter' => '@FILE chunks/mFilter/mFilter.tpl',
'tpl' => '@FILE chunks/product/product.tpl',
] , $filterParams)}
{$conf | print}
{'!mFilter2@pg' | snippet : $conf}
....
Есть другой шаблон с id например 8, наследующий 7ой шаблон но в нем меняется одна переменная ну или несколько в массиве $filterParams который объявлен в 7ом шаблоне
{extends 'template:7'}
{block 'filterParams'}
{set $filterParams['tplOuter'] = '@INLINE Text'}
{set $filterParams['parents'] = '555'}
{/block}
Данный код не обрабатывает, объединяю через array_merge, делаю print значения такие же как и в 7ом шаблонеПока писал придумал выход, но все же интересно
p.s. Выход
Вызов заносим в чанк и уже в чанк передаем переменные
— Основной шаблон(id 7)
{set $idr = $_modx->resource.id}
{block 'filter' }
{include 'file:chunks/mFilter/callFilter.tpl' parents=$idr}
{/block}
— С наследованием(id 8)
{extends 'template:7'}
{block 'filter' }
{include 'file:chunks/mFilter/callFilter.tpl' parents=0}
{/block}
удалить пиратский плагин msmulticurrency
кто-то поставил на сайт плагин msmulticurrency не через modstore. в итоге произошел сбой в работе, конкретно не работает msOptionsPrice2. как вручную удалить этот пиратский плагин? удаление файлов и таблиц из БД не помогло — ошибки вылезли
Не открываются страницы 4 уровня 502 - Bad Gateway .
Доброго дня!
На сайте перестали открываться страницы 4 уровня:
a.auto-autoservice.ru/models/audi-a3/remont-dizelnogo-dvigatelya/kapitalnyij-remont-dizelnyix-dvigatelej/
Выбивает ошибку 502, в чем может быть причина?
При этом
a.auto-autoservice.ru/models/audi-a3/remont-dizelnogo-dvigatelya/ — открывается отлично
На сайте перестали открываться страницы 4 уровня:
a.auto-autoservice.ru/models/audi-a3/remont-dizelnogo-dvigatelya/kapitalnyij-remont-dizelnyix-dvigatelej/
Выбивает ошибку 502, в чем может быть причина?
При этом
a.auto-autoservice.ru/models/audi-a3/remont-dizelnogo-dvigatelya/ — открывается отлично
Условие в сниппете вывода опций - не выводить удаленные опции
Еще раз всех приветствую, у товаров была текстовая опция со значением «по запросу», но опция была удалена, а цена была прописана в стандартную опцию минишопа price. Однако в фиде yml значение этой опции сохранилось, а за вывод опций отвечает данный сниппет, возможно ли добавить в него условие, что бы он не выводил удаленную опцию?
Скриншот: disk.yandex.ru/i/5g6y_-gg9qXBMA
Скриншот: disk.yandex.ru/i/5g6y_-gg9qXBMA
<?php
if(empty($tpl) || !$modx->getChunk($tpl)){
return false;
}
$sQuery = "SELECT
po.value as value,
o.caption as name
FROM
". $modx->getOption('table_prefix') ."ms2_product_options po
LEFT JOIN
". $modx->getOption('table_prefix') ."ms2_options o ON (po.key = o.key)
WHERE
po.product_id = '".$res_id."'";
$result = $modx->query($sQuery);
$res = $result->fetchAll(PDO::FETCH_ASSOC);
$output = "";
foreach($res as $v){
$output .= $modx->getChunk($tpl,$v);
}
echo $output;
Теги taglister tolinks
Всем добрый!
Через taglister tolinks на странице выводятся теги. Ссылка с них идёт на оду страницу с GET запросом tag = выбранному тегу.
Еще есть специальный раздел, с ресурсами для некоторых тегов.
Сейчас в чанке вывода тегов сделано руками core/components/taglister/elements/chunks/link.chunk.tpl
Как сделать так, чтобы в этом чанке автоматически проверялось, если ли в ресурсе ID 197 есть дочерние ресурсы с pagetitle = тегу, то подставлять ссылку на эти страницы, если нет, то на [[+url]].
Через taglister tolinks на странице выводятся теги. Ссылка с них идёт на оду страницу с GET запросом tag = выбранному тегу.
Еще есть специальный раздел, с ресурсами для некоторых тегов.
Сейчас в чанке вывода тегов сделано руками core/components/taglister/elements/chunks/link.chunk.tpl
{if $item == 'bios'}
<a href="{199|url}" class="[[+cls]]">[[+item]]</a>
{/if}
{if $item == 'amd'}
<a href="{198|url}" class="[[+cls]]">[[+item]]</a>
{/if}
{if $item == 'gpu'}
<a href="{200|url}" class="[[+cls]]">[[+item]]</a>
{/if}
{if $item != 'amd' AND $item != 'bios' AND $item != 'gpu'}
<a href="[[+url]]" class="[[+cls]]">[[+item]]</a>
{/if}
ВОПРОС:Как сделать так, чтобы в этом чанке автоматически проверялось, если ли в ресурсе ID 197 есть дочерние ресурсы с pagetitle = тегу, то подставлять ссылку на эти страницы, если нет, то на [[+url]].