Вопросы

Появилась странная Китайская страница

Обратился приятель, с данной проблемой
начал сначалао смотреть и рыть ресурсы в админке, и понял что это «какой-то» вирус
В ресурсах данную страницу не нашел
сама страница: hotel-art-apart.ru/yugjmyh-n309579-sn/
Дмитрий
21 ноября 2018, 17:18
modx.pro
939
0

В админке MODX не сохраняет ресурсы, чанки и шаблоны

Админка перестала корректно работать ориентировочно после делегирования DNS на Cloudflare.
Шаблоны, чанки, открывает, но не редактирует. Либо бесконечная загрузка либо ничего не происходит.
Spirit_Ninja
21 ноября 2018, 17:04
modx.pro
982
0

Выборочно включать текстовый редактор

Привет!

Можно ли включать текстовый редактор в поле content, если у ресурса выбран определенный шаблон? Или может есть какие-нибудь другие условия для включения и отключения редактора?

Чекбокс «Использовать HTML-редактор» не подходит. На сайте 10K страниц, а текстовый редактор нужен только для раздела блога.
Александр
21 ноября 2018, 15:14
modx.pro
1
1 364
0

pdoResources 100% нагрузка на процессор

Приветствую,
прошу помощи, раньше с подобной проблемой не встречался и не могу найти решения.
При выводе ресурсов использую pdoResources, всё работало как надо,
но когда ресурсов стало много (сейчас примерно 70 тысяч и планируется еще больше),
страница перестала грузится, скрипт дает нагрузку 100% на процессор, и в итоге сообщение nginx 504
если убрать вызов pdoResources — страница нормально отображается
вот так вызываю
[[pdoResources?
    &parents=`2`
    &limit=`7`
    &includeTVs=`shop_logo,categories`
    &tpl=`tpl.catalog_shops.row`  
]]
Greza
21 ноября 2018, 09:53
modx.pro
1 218
0

Вопрос по службе оплаты minishop2

Пишу небольшой компонент для оплаты и воткнулся на:

Как правило, вы сами настраиваете, куда обращаться и как передавать. Поэтому, в настройках PayPal я указываю адрес sitename.com/assets/components/minishop2/payment/paypal.php, который запускает MODX в режиме API. По сути — это контроллер приёма оплаты.

при заходе на этот файл у меня выводится Access Dained, права доступа на папки 755 на файлы 644, но пробовал и 755 сути не меняет, что делаю не так?
Вячеслав Варов
21 ноября 2018, 00:22
modx.pro
772
0

Почему Tickets может не работать?

Приветствую

Зашел на тестовый сайт, загрузил и установил Tickets, в шаблоне написал:
[[!TicketComments? &allowGuest=`1`]]
Открываю страницу, передо мною такая форма:

Заполняю все поля, нажимаю кнопку Написать, страница перезагружается, а в ответ тишина, комментарий не появился.
Подумал, что дело в старой версии MODX, установил чистую 2.6.5 — то же самое.
Создал тестовый сайт на modhost — то же самое.
Люди добрые, господа осведомленные, что я сделал не так?

P.S.
В журнале ошибок пусто.
В консоли пусто.
Пишу в режиме инкогнито.
weranda
20 ноября 2018, 20:49
modx.pro
871
-1

заказы пользователя minishop2

Всем привет.
Подскажите пожалуйста как сделать фильтрацию в заказах по vendor(поставщик).

Приведите пожалуста пример где все заказы от всех пользователей по определённому vendor выводятся.
Буду вам очень признателен.

Спасибо заранее всем кто поможет советами.
Кирилл
20 ноября 2018, 17:33
modx.pro
698
0

MiniShop2. Вывод во фронтенд цен товаров из корзины без скидки.

Добрый день.
Изучаю написание плагинов на примерах. Поставил себе задачу реализовать простейшую систему скидок от общей суммы заказа. Код плагина такой:
<?php
switch ($modx->event->name) {
    case 'msOnChangeInCart':
    case 'msOnRemoveFromCart':
    case 'msOnAddToCart':
        $discount = 0;
        $status = $cart->status();
        $tmp = $cart->get();
        //Cтавим изначальную цену без скидок
        foreach($tmp as $_key=>$cartItem) {
            if ($product = $modx->getObject('msProduct', $cartItem['id'])) {
                $tmp[$_key]['clear_price'] = $product->get('price');
                $tmp[$_key]['price'] = $product->get('price');
            }
        }
        if($status['total_cost']>=6000) $discount = 5;
        elseif($status['total_cost']>=3000) $discount = 3;
        //Если есть скидка, пересчитываем цены на товары в $tmp
        if($discount>0) {
            foreach ($tmp as $_key=>$cartItem) {
                if ($product = $modx->getObject('msProduct', $cartItem['id'])) {;
                    $tmp[$_key]['price'] = $product->get('price')*((100-$discount)/100);
                }
            }
        }
        //Записываем данные в корзину
        $cart->set($tmp);
        //$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($cart->get(), true));
        break; 
}
В коде к товарам корзины я добавил дополнительное поле clear_price, в котором хранится цена товара без скидок. Как можно вывести его в чанк корзины msCart?

UPD В чанке корзины есть примерно такой код:
{foreach $products as $product}   
    ...{$product.clear_price}...
    ...{$product.price}...
{/foreach}

Я хочу передать в чанк некие данные, расчитанные в плагине. {$product.price} передаёт высчитанную цену как и положено. {$product.clear_price} не отображается. Как мне это сделать?

UPD2 Обнаружился странный глюк(?). Если я использую для передачи цены без скидки поле old_price товара корзины, то в чанке fenom передаёт её корректно в код {$product.old_price}, но… в зависимости от суммы заказа! Т.е. если сумма заказа более определённой цифры, передаётся вычисленная мной цена, если меньше, передаётся значение, которое хранится в поле old_price данного товара в каталоге. Сейчас код плагина у меня такой:
<?php
switch ($modx->event->name) {
    case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnRemoveFromCart':
        $discount = 0;
        $status = $cart->status();
        $tmp = $cart->get();
        foreach ($tmp as $_key=>$cartItem) {
            if($product = $modx->getObject('msProduct', $cartItem['id'])) {
                $tmp[$_key]['old_price'] = $product->get('price'); // #3
                if($status['total_cost']>=6000) $discount = 5; // #1
                elseif($status['total_cost']>=3000) $discount = 3;// #2
                $tmp[$_key]['price'] = $product->get('price')*((100-$discount)/100);
            }
        }
        //Записываем данные в корзину
        $cart->set($tmp);
        $modx->log(xPDO::LOG_LEVEL_ERROR, print_r($cart->get(), true));
        break; 
}
Методом тыка пришёл к выводу, что строки #1 и #2 каким-то образом влияют на значение в {$product.old_price} в чанке. Причём проверка через $modx->log(xPDO::LOG_LEVEL_ERROR, print_r($cart->get(), true)); показывает, что значение old_price в строке #3 устанавливается, но почему-то не передаётся в чанк.
Артём
20 ноября 2018, 15:23
modx.pro
969
0

msearch2 - вывод свойств товара

Здравствуйте. Наверное, напишу глупость, но не могу понять, как сделать так, чтобы в результатах поиска выводились свойства minishop товаров.
Что бы в шаблон попадали определенные ТВ, у сниппета есть параметр &includeTVs=``
Допустим у товара есть свойство arcticle. В шаблоне для поиска выводится вот так, как и в категориях сайта:
<div class="kod">Код товара: [[+article]]</div>
Но в категориях артикл выводится, а на странице поиска нет, в категориях выводится через mFilter2 правда. А на странице поиска вот так:
[[!pdoPage?
                    &element=`mSearch2`
                    &parents=`3`
                    &tpl=`tpl.product`
                    &includeTVs=`alt_pagetitle`                    
                    &tvPrefix=`tv 
]]
Так же в шаблоне есть плейсхолдер для картинки
<img src="[[+thumb]]" alt="[[+pagetitle]]" />
Он так же не выводится поиском. Подскажите пожалуйста, что я делаю не так?
Dolce
19 ноября 2018, 14:14
modx.pro
2 107
0

как расширить поле товара minishop2

Всем привет.

Привидитие пожалуйста простую реализацию как расширить поле товара и создать дополнительное поле (как size, color) только

партнёрский артикул поставщика (так как vendor есть ). Тоесть допустим есть группа товаров у поставщика, которая идёт с определённым артикулом.

И как сделать вывод Заказы только с данным полем.

Буду очень признателен за советы!

Спасибо.
Кирилл
19 ноября 2018, 13:55
modx.pro
1 240
0