Вячеслав Варов

Вячеслав Варов

С нами с 06 сентября 2016; Место в рейтинге пользователей: #232

Медленная работа сайта при большом объеме страниц

Всем привет!
На сайте больше 180тыс страниц, и в связи с этим первая загрузка страницы до появления кэша длится очень долго, а именно ответ от сервера более 3с, подскажите с чем это может быть связанно, и как это можно отследить/исправить? Хостинг REG.RU сайт mytopsto.ru
Все сниппеты запускаю через fenom кэшируемыми, очень часто использую параметр where для выборки страниц.

Еще вопрос быстрее ли будет указывать чанк для формирования выдачи сниппета или указывать 'tpl' => '@INLINE...'?

И еще вопрос, так как много ссылок и их я генерирую с помощью {$_modx->makeURL($id,"",«full»)}, может есть быстрее решение?

Скрин из Google PSI



Одна из причин что цены на услуги хранятся в TV и при выводе таблицы цен на странице все зависает на 40сек, подскажите как лучше реализовать такой функционал, где хранить цену чтобы выводить ее было быстрее, я пока думаю что было бы логично расширить таблицу modx_site_content,  и добавить в нее столбец с ценой, или это плохая идея?
Вячеслав Варов
23 мая 2020, 20:01
modx.pro
641
0

Как использовать $modx в подключаемом php файле?

Приветствую!
Столкнулся с следующей проблемой:
Не получается вывести системную настройку в костюмном классе обработки доставки, код пример брал из документации — все работает пока не пытаюсь получить системную настройку:
<?php
if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
class Delivery extends msDeliveryHandler implements msDeliveryInterface{

    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {

        $mdcf = 200;
        $cart = $order->ms2->cart->status();
        $cart_cost = $cart['total_cost'];

        if($cart_cost > $mdcf){
            return $cost;
        }else{
            $delivery_cost = parent::getCost($order, $delivery, $cost);
            return $delivery_cost;
        }
    }
}
Суть сводится к тому чтобы сделать бесплатной доставку при стоимости корзины больше 200, и я хочу эти 200 вывести в системных настройках чтобы менять их там для удобства. Но вот столкнулся с тем, что не работает $modx->getOption и сайт просто ложится и выводит пустую белую страницу код использую такой:

<?php
if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
require_once $_SERVER['DOCUMENT_ROOT'].'/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
class Delivery extends msDeliveryHandler implements msDeliveryInterface{

    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {

        $mdcf = $modx->getOption('md_delivery_cf');
        $cart = $order->ms2->cart->status();
        $cart_cost = $cart['total_cost'];

        if($cart_cost > $mdcf){
            return $cost;
        }else{
            $delivery_cost = parent::getCost($order, $delivery, $cost);
            return $delivery_cost;
        }
    }
}
Вячеслав Варов
28 мая 2019, 10:44
modx.pro
933
0

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

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

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

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

Присоединить подчиненный товар к основному

Здравствуйте!
Вячеслав Варов
07 октября 2018, 15:06
modx.pro
1
1 057
0

Ошибка при запуске msproducts

Всем привет!
подскажите в чем проблема, пытаюсь запустить сниппет
bezumkin.ru/sections/tips_and_tricks/2058/
Вячеслав Варов
25 сентября 2018, 17:46
modx.pro
710
0

Как реализовать группировку товаров по значению опции или связи

Доброго времени суток!

Подскажите как можно организовать группировку товаров, создать так называемые коллекции чтобы это работало с mfilter2?

Пример: catalog.onliner.by/heatedfloor?heater_type%5B0%5D=mat&heater_type%5Boperation%5D=union
зайдя на сайт видно первый товар Arnold Rak FH 2130i 3 кв.м. 540 Вт и снизу товары в одной коллекции. это необходимо для того чтобы не заполнять каталог однотипными товарами.

Были разные идеи как это сделать, через связи товаров и через группировку по значению опции, но это все не универсально и не работает с фильтром.

Видел еще вот такое вот решение bezumkin.ru/sections/tips_and_tricks/2058/ но не пойму как его можно применить к моему решению, мне кажется это то что нужно, если создать категорию и в ней сгруппированые товары и в чайке вывод категории выводить несколько товаров

Подскажите или натолкните на мысль как сделать это правильно. Или предложите сумму за которую вы бы это сделали, пробовал Фриланс, там все глухо :(
Вячеслав Варов
25 сентября 2018, 16:55
modx.pro
1
832
0

Принцип работы pdoPage

Доброго времени суток! Помогите пожалуйста разобраться в сниппете pdoPage.
что конкретно не понятно:
Вячеслав Варов
19 сентября 2018, 23:46
modx.pro
907
0

Объединение свойств и опций товара в админ-панели

Здраствуйте! Подскажите как можно сгруппировать все свойства и опции товара в одной вкладке? Например как с tv-параметрами там можно в регионах выставить нужную вкладку, есть ли возможность сделать аналогично с свойствами и опциями?
На скриншоте наглядно показано то, о чем я говорю:
Вячеслав Варов
30 июля 2018, 07:24
modx.pro
2
1 525
0

Фильтрация ресурсов по tv параметру pdoResources

Здраствуйте,
Необходимо показать те ресурсы в tv поле которых указан id авторизованного пользователя

Есть tv поле в ресурсах — users
Есть Ajax авторизация пользователя Login
Есть ajax вызов pdoRecources c помошью ajaxSnippet

[[AjaxSnippet?
    &snippet=`pdoResources`
    &parents=`7`
    &includeTVs=`users`
    &tpl=`@INLINE [[+link]] [[+modx.user.id]]`
    &useWeblinkUrl=`1`
    &as_mode=`onclick`
    ]]
При успешной авторизации срабатывает триггер на кнопку показа ресурсов, если не ставить фильтрацию то все работает:
выводится ссылка и id авторизованного пользователя
если я ставлю условие:
&tvFilters=`users==[[+modx.user.id]]
то условие не всегда срабатывает, если ставлю условие
&where=`{"users:=":"[[+modx.user.id]]"}`
вообще ничего не выводится…

Вячеслав Варов
18 июня 2018, 16:59
modx.pro
1 526
0

Помогите советом как организовать редактирование такой таблицы в админке

Необходимо изменять комплектации и добавлять удалять те что уже есть, отсюда вопрос возможно ли это реализовать стандартами дополнениями modx?

Ссылка на сайт — вкладка «Комплектации и цены»
fallengo.beget.tech/atlas#complectation

Может у кого появятся идеи
Вячеслав Варов
06 марта 2018, 09:14
modx.pro
861
0