Q:

Не работает своя функция в 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

A:

$convert и $margin в файле представления - локальные. Область их видимости - функция. Передайте им значения:
function conver($prise, $margin, $convert){...

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

