Вопросы
Калькулятор расчета расстояния от А до Б
Добрый день.
Посоветуйте, что можно использовать, может есть готовые варианты, плохо ищу.
Задача: сделать на сайтеподобие калькулятор, где можно ввести точку А и точку Б, тебе строится маршрут и указывается километраж, сам километраж умножается на N'ую сумму.
Не нужно мега точных расчетов, приблизительно что бы считал километраж + понимал населенные пункты.
Наверное нужно типо такого: tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator
Только как передать данные в FormIt
Спасибо.
п.с. без привязки к miniShop2 )))
Посоветуйте, что можно использовать, может есть готовые варианты, плохо ищу.
Задача: сделать на сайте
Не нужно мега точных расчетов, приблизительно что бы считал километраж + понимал населенные пункты.
Наверное нужно типо такого: tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator
Только как передать данные в FormIt
Спасибо.
п.с. без привязки к miniShop2 )))
Как вывести производителей из определенных категорий?
[[!pdoResources?
&class=`msProduct`
&parents=`1328,1330,1336,1343`
&limit=`0`
&depth=`10`
&tpl=`@INLINE <option value="[[+id]]">[[+name]]</option>`
&innerJoin=`{
"Data": {
"class": "msProductData",
"on": "msProduct.id = Data.id"
},
"Vendor": {
"class": "msVendor",
"on": "Data.vendor = Vendor.id"
},
"Member": {
"class": "msCategoryMember",
"on": "Member.product_id = msProduct.id"
}
}`
&showLog=`1`
]] У всех товаров в сравнении Comparison выводится одинаковая цена
Никак не могу понять природу происходящего. В таблице и карточке у товаров цены разные, в при сравнении выводится какое-то левое число, непонятно откуда берущееся.
Как очищать поле при выборе чекбокса в extjs?
Может кто-нибудь подсказать такой момент. Как очищать поле при выборе чекбокса в extjs? Подробности под катом.
как правильно в MSearch2 сделать фильтрацию с шагом 0.1
Добрый день, как правильно в MSearch2 сделать фильтрацию с шагом 0.1? по умолчанию только 1.
Соответственно получается бред

Либо 2 либо 2.
Если в адресной строке РУКАМИ изменить на /?ms|obem_dvig=1.6,2.0

То все работает как надо.
В документации ничего не нашел.
Помогите пожалуйста.
Соответственно получается бред

Либо 2 либо 2.
Если в адресной строке РУКАМИ изменить на /?ms|obem_dvig=1.6,2.0

То все работает как надо.
В документации ничего не нашел.
Помогите пожалуйста.
Выборка (where) по дате в pdoResources
Добрый день!
Понадобилось вывести только те записи, в которых ТЕКУЩАЯ дата попадает в период с (tv поле nacpr) по (tv поле konpr)
Перерыл весь интернет — не могу найти работающий пример выборки по периоду!
Я ПОНИМАЮ, что в where нужно задать сложное условие (AND) вида
текущая_дата>=nacpr AND текущая_дата<=kon_pr
К сожалению, навыков работы с датами в MODx пока не имею, но я быстро учусь…
Понадобилось вывести только те записи, в которых ТЕКУЩАЯ дата попадает в период с (tv поле nacpr) по (tv поле konpr)
Перерыл весь интернет — не могу найти работающий пример выборки по периоду!
Я ПОНИМАЮ, что в where нужно задать сложное условие (AND) вида
текущая_дата>=nacpr AND текущая_дата<=kon_pr
К сожалению, навыков работы с датами в MODx пока не имею, но я быстро учусь…
[[pdoResources?
&parents=`2`
&depth=`0`
&tpl=`TestListRowTpl`
&includeTVs=`tvimage,nacpr,konpr`
&where=`["FROM_UNIXTIME(nacpr, '%Y-%m-%d') .....___код___`
]]Заранее буду благодарен за работающий пример сложной выборки по текущей дате. msCart как вывести производителя?
Подскажите как вывести производителя в чанке tpl.msCart?
{$product.vendor} дает ID…
Спасибо!
{$product.vendor} дает ID…
Спасибо!
Как вывести категории minishop2 FENOM без сниппета, с условием?
Друзья, подскажите пожалуйста, как вывести категории minishop2 с условием WHERE на FENOM без снипета. Просто вывести категории и подкатегории получается, но нужно с условием, где TV cat_view = 1. И вывести только категории, без товаров. Вот так выводит и категории с подкатегориями, но и товары, и не учитывает TV cat_view = 1 :( Я так понимаю проблема в синтаксисе WHERE у меня, что не так?
Делаю так
Делаю так
{var $parents = $_modx->getResources(
[
'published' => 1,
'deleted' => 0,
],
[
'sortby' => 'menuindex',
'select' => 'id,pagetitle',
'where' => [
'class_key:=' => 'msCategory',
'cat_view:=' => 1
]
])
} Обработка migx поля в двух циклах
Добрый день. Есть такая конструкция
{set $rows = json_decode($_modx->resource.testTV, true)}
{foreach $rows as $row}
<div class="individual-block">
<div class="carousel col-md-6">
{set $rows1 = json_decode($row.image1, true)}
{foreach $rows1 as $row}
<div class="col-xs-12 col-md-8 col-sm-8">
{$row.image}
</div>
{/foreach}
</div>
<p> {$row.description}</p>
</div>
{/foreach}Если {$row.description} вызвать до внутреннего цикла, то значение из поля выводится. Если же вызывать как на примере выше — пусто. Не могу понять чем перебивается вызов pdoTools->getChunk не парсит вложенный контент
Добрый день.
modx 2.6.5
pdoTools 2.12.3-pl
php 7.3
Написал свой плагин для поиска.
Всё нормально работает, но вот ресурсы, у которых class_key === modWebLink и в content есть теги fenom (например у меня там просто ссылки на внутренние ресурсы {`id` | url}), он их не обрабатывает и выплёвывает необработанными тегами.
пытался сделать так
Код:
modx 2.6.5
pdoTools 2.12.3-pl
php 7.3
Написал свой плагин для поиска.
Всё нормально работает, но вот ресурсы, у которых class_key === modWebLink и в content есть теги fenom (например у меня там просто ссылки на внутренние ресурсы {`id` | url}), он их не обрабатывает и выплёвывает необработанными тегами.
пытался сделать так
/* И getChunks и parseChunk */
$obj->content = $pdoTools->getChunk('@INLINE {$c}', ['c'=>$obj->content]);Обработка тегов в ресурсах включена, конечно.Код:
<?php
if ($modx->event->name != 'OnPageNotFound') {return false;}
$alias = $modx->context->getOption('request_param_alias', 'q');
$searchQueryAlias = 's';
if (!array_key_exists($alias, $_REQUEST) || $_REQUEST[$alias] !== 'search' || !array_key_exists($searchQueryAlias, $_REQUEST)) {return false;}
$searchQuery = trim($_REQUEST[$searchQueryAlias]);
if (!isset($modx->resource)) {
$modx->resource = $modx->newObject('modResource');
$modx->resource->pagetitle = 'Поиск по сайту';
}
$fqn = $modx->getOption('pdoTools.class', null, 'pdotools.pdotools', true);
if ($pdoClass = $modx->loadClass($fqn, '', false, true)) {
$pdoTools = new $pdoClass($modx, $scriptProperties);
}
elseif ($pdoClass = $modx->loadClass($fqn, MODX_CORE_PATH . 'components/pdotools/model/', false, true)) {
$pdoTools = new $pdoClass($modx, $scriptProperties);
}
else {
$modx->log(modX::LOG_LEVEL_ERROR, 'Could not load pdoTools from "MODX_CORE_PATH/components/pdotools/model/".');
return false;
}
$pdoTools->addTime('pdoTools loaded');
$out = '';
$stmt = $modx->newQuery('modResource');
$stmt->limit(15);
$preparedSQ = str_replace(' ', ' ', trim($searchQuery));
$preparedSQ = preg_replace('#[^\w]#u', ' ', $preparedSQ);
$preparedSQ = str_replace(' ', ' ', trim($preparedSQ));
$preparedSQPieces = explode(' ', $preparedSQ);
$stmt->where(['id:!=' => 1]);
$stmt->andCondition(['pagetitle:LIKE' => "%$preparedSQ%"]);
$stmt->orCondition(['longtitle:LIKE' => "%$preparedSQ%"]);
if (count($preparedSQPieces) > 1) {
foreach($preparedSQPieces as $idx => $piece) {
$stmt->orCondition(['pagetitle:LIKE' => "%$piece%"]);
$stmt->orCondition(['longtitle:LIKE' => "%$piece%"]);
}
}
$out = '';
$count = $modx->getCount('modResource', $stmt);
if (intval($count) > 0) {
$objs = $modx->getIterator('modResource', $stmt);
foreach($objs as $obj) {
$obj->content = $pdoTools->getChunk('@INLINE {$c}', ['c' => $obj->content]);
$out .= $pdoTools->getChunk('@FILE chunks/particles/search-list.item.tpl', $obj->toArray());
}
} else {
$out .= '<div class="col-12">По вашему запросу «'.$searchQuery.'», ничего не найдено, уточните запрос.</div>';
}
$out = $pdoTools->getChunk('@FILE pages/search.tpl', [
'title' => 'Результат по запросу «'.$searchQuery.'»',
'items' => $out
]);
die($out);