Login: Вывод сообщения после нажатия кнопки
Как мне вывести сообщение, после изменения пароля?
Не обновляются превьюшки
Всем привет!
MODX Revolution 2.7.1-pl
miniShop2 2.5.0-pl
Внес изменения в MS2 Images и пытаюсь обновить превью у товаров через Console кодом из документации
MODX Revolution 2.7.1-pl
miniShop2 2.5.0-pl
Внес изменения в MS2 Images и пытаюсь обновить превью у товаров через Console кодом из документации
Подключение к двум modx для синхронизации
Может кто сталкивался?
Есть 2 проекта на одном серваке. Есть ли возможность с нового проекта через modalConsole подключиться к старому имея на вооружении такие же конструкции как и в новом: $modx_old->getObject('modResource', $id) — но с данными от старого проекта.
P.S. Хочу забрать данные с базы старого проекта, но перебрав и видоизменив загрузить на новый.
Есть 2 проекта на одном серваке. Есть ли возможность с нового проекта через modalConsole подключиться к старому имея на вооружении такие же конструкции как и в новом: $modx_old->getObject('modResource', $id) — но с данными от старого проекта.
P.S. Хочу забрать данные с базы старого проекта, но перебрав и видоизменив загрузить на новый.
Привязка статей к товару minishop2
Есть интернет магазин на minishop2.
Есть статьи по товарам или околотематические. В самой статье я указываю «Сопутствующие товары» (ид через запятую) и показываю товары о которых идет речь в статье.
Все замечательно работает.
Теперь задача обратная — хочу показывать статьи в карточке товара или категории товара и статьи определять по полю «Сопутствующие товары» (ид через запятую) которые указаны в статье.
В карточке товара у меня есть его ИД. И есть список статей в которых есть поле relatedProducts.
Надо выбрать статьи в которых ИД товара присутствует в поле relatedProducts.
Как это сделать?
Есть статьи по товарам или околотематические. В самой статье я указываю «Сопутствующие товары» (ид через запятую) и показываю товары о которых идет речь в статье.
Все замечательно работает.
Теперь задача обратная — хочу показывать статьи в карточке товара или категории товара и статьи определять по полю «Сопутствующие товары» (ид через запятую) которые указаны в статье.
В карточке товара у меня есть его ИД. И есть список статей в которых есть поле relatedProducts.
Надо выбрать статьи в которых ИД товара присутствует в поле relatedProducts.
Как это сделать?
помогите оптимизировать php скрипт
Добрый день!
Нужна воздмездная помощь.
Есть php скрипт. Отдельно от сайта работает. Но стоит вставить его в сниппет и получаю белый экран.
Готов оплатить (в разумных пределах)
Нужна воздмездная помощь.
Есть php скрипт. Отдельно от сайта работает. Но стоит вставить его в сниппет и получаю белый экран.
Готов оплатить (в разумных пределах)
FormIt валидация формы
Здравствуйте, с помощью FormIt создаются ресурсы в них есть tv phone хочу сделать такую валидацию если ресурс с номером телефона 777777 существует в определенной категории то форма выдает ошибку. Так же в форме есть select где указывается категория. Как я понял это нужно делать с помощью preHooks но пока не могу разобраться как получить данные из формы. Hooks понятно там все просто получаю данные из формы. Может кто подсказать?
Как вывести цену со скидкой в карточке товара msDiscount ?
msDiscount выводит в каталоге, корзине всё норм, но в карточке товара не выводит, в доках не нашёл как вывести цену со скидкой в карточке товара
Код ниже уже готовый, проверенный, работает отлично по группам, по скидкам и так далее, выводит именно цену товара, а не саму скидку, для вывода самой скидкой нужно воспользоваться тем что написано в доках
Код ниже уже готовый, проверенный, работает отлично по группам, по скидкам и так далее, выводит именно цену товара, а не саму скидку, для вывода самой скидкой нужно воспользоваться тем что написано в доках
<?php
/** @var msDiscount $msDiscount */
/** @var msDiscount $price */
/** @var pdoTools $pdoTools */
if(empty($price)){
return '';
}
$pdoTools = $modx->getService('pdoTools');
$msDiscount = $modx->getService('msDiscount');
$date = $pdoTools->getStore('msd_date');
$usergroups = array_keys($msDiscount->getUserGroups($modx->user->id));
$sales = !empty($date)
? $msDiscount->getSales($date, true)
: $msDiscount->getSales();
if (empty($sale)) {
$sale = $pdoTools->getStore('msd_sale');
}
if (!empty($sale)) {
$tmp = array_map('trim', explode(',', $sale));
foreach ($sales as $id => $sale) {
if (!in_array($id, $tmp)) {
unset($sales[$id]);
}
}
}
if (!empty($row) && is_array($row)) {
$mode = 'prepare';
if (!empty($row['id'])) {
$id = $row['id'];
}
}
else {
$mode = 'standalone';
if (!empty($frontend_css)) {
$frontend_css = str_replace('[[+assetsUrl]]', $msDiscount->config['assetsUrl'], $frontend_css);
$modx->regClientCSS($frontend_css);
}
if (!empty($frontend_js)) {
$frontend_js = str_replace('[[+assetsUrl]]', $msDiscount->config['assetsUrl'], $frontend_js);
$modx->regClientScript($frontend_js);
}
if (empty($id)) {
$id = $modx->resource->id;
}
}
$remains = $discount = 0;
if (!empty($id) && !empty($sales)) {
foreach ($sales as $sale) {
// Check user groups
if (!empty($sale['users'])) {
$required = array();
foreach ($sale['users'] as $gid => $type) {
if ($type == 'out' && in_array($gid, $usergroups)) {
unset($sales[$idx]);
continue(2);
}
if ($type == 'in') {
$required[] = $gid;
}
}
if (!empty($required) && !array_intersect($required, $usergroups)) {
unset($sales[$idx]);
continue;
}
}
// Check product groups
if (!empty($sale['products'])) {
$groups_in = $groups_out = array();
foreach ($sale['products'] as $gid => $type) {
if ($type == 'out') {
$groups_out[] = $gid;
unset($sale['products'][$gid]);
}
else {
$groups_in[] = $gid;
}
}
}
if (!empty($groups_out) || !empty($groups_in)) {
$ids = $modx->getParentIds($id);
$ids[] = $id;
$q = $modx->newQuery('msCategoryMember', array('product_id' => $id));
$q->select('category_id');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
$modx->queryTime += microtime(true) - $tstart;
$modx->executedQueries++;
if ($tmp = $q->stmt->fetchAll(PDO::FETCH_COLUMN)) {
$ids = array_merge($ids, $tmp);
}
}
$ids = array_unique($ids);
$where = count($ids) > 1
? array('document:IN' => $ids)
: array('document' => $ids[0]);
$q = $modx->newQuery('modResourceGroupResource', $where);
$q->select('document_group');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
$modx->queryTime += microtime(true) - $tstart;
$modx->executedQueries++;
$groups = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
if (!empty($groups_out) && array_intersect($groups_out, $groups)) {
continue;
}
elseif (!empty($groups_in) && !array_intersect($groups_in, $groups)) {
continue;
}
}
}
// Product match
$tmp_remains = ($sale['ends'] != '0000-00-00 00:00:00')
? strtotime($sale['ends']) - time()
: 0;
if (strpos($sale['discount'], '%') !== false && (empty($discount) || strpos($discount, '%') !== false)) {
if ($sale['discount'] > $discount) {
$discount = $sale['discount'];
$remains = $tmp_remains;
}
}
elseif (is_numeric($sale['discount']) && is_numeric($discount)) {
if ($sale['discount'] > $discount) {
$discount = $sale['discount'];
$remains = $tmp_remains;
}
}
else {
$discount = $sale['discount'];
$remains = $tmp_remains;
}
}
}
if($discount && $remains){
return (((int)$price * (100 - (int)$discount )/100));
}
return '';
Как понять какой чанк имеется в виду в логе mFilter2?
Здравствуйте!
На одном сайте есть проблема со временем генерации страницы с mFilter2.
Страница грузится в среднем минуту, товаров 6000.
В логе написано следующее:
На одном сайте есть проблема со временем генерации страницы с mFilter2.
Страница грузится в среднем минуту, товаров 6000.
В логе написано следующее:
Shopkeeper3@cartMin - как увеличит лимит отображаемого товара в мини корзине?
Здравствуйте.
В мини корзине отображается только 3 первых уникальных товара.
Как убрать лимит или увеличить его?
В мини корзине отображается только 3 первых уникальных товара.
Как убрать лимит или увеличить его?
Вывести завтрашнюю дату. Если сегодня 21 июня, вывести 22 июня
А как вывести завтрашнюю системную дату сайта (или сервера) на modx Revo.
Если сегодня 21 июня, вывести 22 июня. Дату брать системную, ну или любую другую.
Если сегодня 21 июня, вывести 22 июня. Дату брать системную, ну или любую другую.