Как использовать $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;
}
}
}
Комментарии: 1
попробуй вызвать через $this->modx
а вообще, чтоб в любом файле подключить $modx, у меня работает такой код:
а вообще, чтоб в любом файле подключить $modx, у меня работает такой код:
define('MODX_API_MODE', true);
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php'; //путь до index.php, который лежит в корне
$modx->getService('error', 'error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.