Дмитрий Суворов

Дмитрий Суворов

С нами с 01 августа 2013; Место в рейтинге пользователей: #185
Дмитрий Суворов
20 декабря 2016, 14:36
+1
Для того, чтобы не указывать все подряд категории, можно воспользоваться &where и отфильтровать таким образом все категории

&where=`{"isfolder":0}`

В вызове вашем я не вижу где Вы подключаете превью. Ну а касательно цены желательно код tpl увидеть
Дмитрий Суворов
19 декабря 2016, 22:08
+2
попробуйте указать &tpl у pdoResources не через @INLINE, а через чанк
Дмитрий Суворов
19 декабря 2016, 22:01
1
+1
Тут в TV содержится инфа о наличии. 1 — да, 0 — нет.

<?php
if( $modx->event->name == 'msOnCreateOrder' )
{
    $idsProd = array();
    $order = $modx->getOption('msOrder', $scriptProperties);
    if (!is_object($order)) {
        return;
    }
    foreach ($order->getMany('Products') as $orderProduct) {
        $idsProd[] = $orderProduct->get('product_id');
    }
    
    foreach ($idsProd as $idRes) {
        $res = $modx->getObject('modResource', $idRes);
        $res->setTVValue('ostatok', 0);
        $res->save();
    }
}

После совершения заказа всем товарам, которые были заказаны — выставится в TV «ostatok» 0
Дмитрий Суворов
19 декабря 2016, 15:20
0
Как сделать при данном импорте я не знаю. Но вот этот компонент это умеет: modstore.pro/packages/import-and-export/msimportexport
Дмитрий Суворов
17 декабря 2016, 14:08
1
+1
Иными словами выключать все товары, которые уже находились на сайте?

Найдите фрагмент в коде (он где-то от 150 строки до 160):

else {
	$action = 'update';
	$data['id'] = $exists->id;
}

И вставьте туда такую строку:

if (empty($data['published'])) {$data['published'] = 0;}

Получится вот так:

else {
	$action = 'update';
	$data['id'] = $exists->id;
	if (empty($data['published'])) {$data['published'] = 0;}
}
Дмитрий Суворов
16 декабря 2016, 14:42
+1
Возможно, вам поможет этот компонент: modstore.pro/packages/utilities/autoredirector
Дмитрий Суворов
14 декабря 2016, 17:49
0
Города выбираются в селекте в форме корзины?
Дмитрий Суворов
13 декабря 2016, 16:54
1
+1
Волшебства не существует :) Зато существует подробнейшая, прекрасная документация. Вот конкретно про удаленную авторизацию: docs.modx.pro/components/office/controllers/remote-authorization

Но в целом покурите весь раздел документации по Office.
Дмитрий Суворов
13 декабря 2016, 16:23
+1
Текст меняется в словарях (пространство имен miniShop2, язык ru).
Стилистически пропишите у себя в css необходимые классы:

.ms2-message-success {
    background: #33d13a !important;
    color: #fff !important;
    border: 1px solid #003002 !important;
}

.ms2-message-error {
    background: #f41010 !important;
    color: #fff !important;
    border: 1px solid #b90909 !important;
}

Если не хочется переопределять, то конкретный css, отвечающий за jGrowl лежит по этому пути:

/assets/components/minishop2/css/web/lib/jquery.jgrowl.css

Но я не совсем уверен, перезаписывается ли этот файл при обновлении или нет. Надежней переопределить стили у себя в основном файле css.
Дмитрий Суворов
13 декабря 2016, 14:14
0
Изменить каким образом? Стилистически или сам текст внутри?
Дмитрий Суворов
03 декабря 2016, 22:15
0
Добрый вечер! На сколько мне известно — подобного компонента пока нет.
Дмитрий Суворов
03 декабря 2016, 14:24
+2
попробуйте в настройках поставщика указать URL сервиса не через https, а через http
Дмитрий Суворов
30 ноября 2016, 22:57
0
Данный компонент реализует аналогичный функционал, как блок «Дополнительное оборудование» на примере: msAddLinked.
Дмитрий Суворов
17 ноября 2016, 13:52
0
в папке core есть файл htaccess. Он запрещает обращаться к любым php файлам без определенных прав. Чтобы сделать импорт, необходимо либо этот htaccess закоментировать, либо скрипт импорта перенести в другое место, например в assets. Только в коде скрипта в таком случае необходимо указать верный путь к index.php
Дмитрий Суворов
17 ноября 2016, 13:27
0
1. Возможно, вы не авторизованы в админке.
2. Возможно вы авторизованы и в админке, и во фронте.
3. в папке core .htaccess должен быть закомментирован, если вы запускаете скрипт через нее
Дмитрий Суворов
16 ноября 2016, 01:33
2
+1
function hideaddress(){
   if ($('[name="delivery"]:checked').attr('id') == 'delivery_1') {
      $("#address_block").hide();
   } else {
      $("#address_block").show();
      return false;
   }
}

window.onload = function () {
   hideaddress();
};

$(document).on('change', '[name="delivery"]', function() {
   hideaddress();
})
Дмитрий Суворов
15 ноября 2016, 19:23
0
Посмотрите, какой ID имеет пункт самовывоза (в админке или в коде сайта), в примере указан вариант доставки с ID 5, у вас пункт «Самовывоз» может быть под другим ID. Тут же JQuery, манипуляция с версткой и структурой html, знать принципы работы с MODX в данном случае не обязательно.