Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Не работает своя функция в opencart 2.0

подскажите почему не работает своя функция в opecart 2.0 делаю так в контролере:
$data['margin'] = $this->model_query_query->getMargin(); // тут 10 $data['convert'] = number_format($this->currency->convert('1', 'CNY', $this->currency->getCode()) + 0.07,2); //тут получаем 1,36
в представлении так:
function conver($prise){ $convertor = $prise * $convert; $prosent = $convertor / 100 * $margin + $convertor; return $prosent; } echo conver('100'); //ответь должен быть 110
получаю ошибку: Undefined variable: convert in


Ответ

$convert и $margin в файле представления - локальные. Область их видимости - функция. Передайте им значения:
function conver($prise, $margin, $convert){...
UPD(не в тему, но всё же).:
А зачем вы, собственно, определяете функцию в представлении. OC это MVC система, и этим вы нарушаете логику. Поддерживать такой код станет труднее. Я как разраб ожидаю увидеть во вьюхе исключительно переменные со значениями, но не как не функции. Логику я буду искать в моделях и контроллерах. Избегайте такого подхода, используйте функции в файлах представления только в js скриптах, IMHO.

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

Отправить комментарий