Подключения собственного класса доставки

Необходимо поменять логику формирования стоимости доставки. Подключил свой класс доставки как описано тут

Все работает. Но в консоле ошибка

[2017-11-19 22:48:29] (ERROR @ /home/s9014/www/core/components/minishop2/model/minishop2/minishop2.class.php : 397) [miniShop2] Could not load custom class at "/home/s9014/www/core/components/minishop2/custom/delivery/msDeliveryHandler_my.class.php"


содержимое msDeliveryHandler_my.class.php

<?php
if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(__FILE__)) . '/model/minishop2/msdeliveryhandler.class.php';
}

class msDeliveryHandler_my extends msDeliveryHandler implements msDeliveryInterface {
	public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
        ....
	}
}
Как это не удается загрузить кастомный класс msDeliveryHandler_my? Ведь описанная в нем логика работает.
Михаил
19 ноября 2017, 19:56
modx.pro
1 435
0

Комментарии: 2

Desler
24 ноября 2017, 16:37
0
    Victor
    20 мая 2020, 15:36
    0
    Тебе, наверное, уже не нужно, но напишу как решил очень похожую проблему у себя.

    Я начал с того, что посмотрел тот самый файл, который вызывает ошибку:
    core/components/minishop2/model/minishop2/minishop2.class.php : 397
    В указанном месте происходит загрузка служб, причем двумя способами:
    — Сначала запускаются все файлы, находящиеся в папке
    core/components/minishop2/custom
    — Затем запускаются все службы, зарегистрированные по примеру из ссылки, которую ты указал.

    В моем случае, файл с кастомным классом доставки лежал в нужной папке и поэтому без проблем запускался, логика работала. А вот при регистрации службы я допустил опечатку в пути файла и из-за этого при попытке ее запустить вылезала ошибка.
    Возможно, и у тебя где-то закралась опечатка?

    Непонятно, конечно, зачем службы по два раза запускаются, может @Василий Наумкин прочитает и ответит?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2