Доброго времени суток. Моя проблема в следующем: в админке проверяю поле length_dresses через встроенный метод validateForm() вписываю ошибку PHP: $this->error['length_dresses'] = $this->language->get('error_length_dresses'); , но в шаблоне при обращении к $error_length_dresses вылазит NOTICE... Open Cart 1.5.4.1
Да добавил, в контроллере все отрабатывает, а шаблоне нет --- Добавлено, 12 сен 2013 --- language file PHP: $_['error_length_dresses'] = 'Укажите длину платья!'; ControllerCatalogProduct PHP: if (!isset($this->request->post['length_dresses'])) { $this->error['length_dresses'] = $this->language->get('error_length_dresses'); } product_form.tpl PHP: <?php if ($error_length_dresses) { ?> <span class="error"><?php echo $error_length_dresses; ?></span> <?php } ?> NOTICE Код: Notice: Undefined variable: error_length_dresses inZ:\home\opencart\www\vqmod\vqcache\vq2-admin_view_template_catalog_product_form.tplon line 186
Попробуйте в ControllerCatalogProduct Код: if (isset($this->request->post['length_dresses'])) { $this->data['length_dresses'] = $this->request->post['length_dresses']; } else { $this->data['length_dresses'] = ''; } if (isset($this->error['length_dresses'])) { $this->data['error_length_dresses'] = $this->error['length_dresses']; } else { $this->data['error_length_dresses'] = ''; } И после функции protected function validate() { Код: if ((utf8_strlen($this->request->post['length_dresses']) < 1) || (utf8_strlen($this->request->post['length_dresses']) > 32)) { $this->error['length_dresses'] = $this->language->get('error_length_dresses'); }
как я понимаю массив error служит как механизм вывода ошибки на станицу, а текст ошибки нужно передавать как обычную переменную через массив data?