Jump to content

dmtrysh7

Новичок
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный

About dmtrysh7

  • Rank
    Новичок
  1. Код скриптов не менял совсем. Поэтому, наверное, и не работает. Проверку поправил. На Banner сейчас посмотрю, спасибо.
  2. Доброго времени суток. Есть задача: Необходимо настроить в админ панели выбор картинки для слайдера. Слайдер - отдельный модуль. Код контроллера admin/controller/module/slider.php: <?php class ControllerModuleSlider extends Controller { private $error = array(); // используется для установки ошибки, если такая возникла public function index() { $this->load->language('module/slider'); //подключаем языковой файл $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); //подключаем модель setting, он позволяет сохранять настройки модуля в БД if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { // если мы нажали "Сохранить" в панели, мы сохраняем текущие настройки $this->model_setting_setting->editSetting('slider', $this->request->post); // анализ и передача данных в Setting Model для сохранения в базе данных $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); // редирект в Module Listing } // объявление переменных // формирование breadcrumbs // обработка ошибок из validate() // статус модуля // обработка текстовых полей // тут работа с изображением (пока что пробую сделать это с одним изображением) $this->load->model('tool/image'); if (isset($this->request->post['config_image1'])) { $data['config_image1'] = $this->request->post['config_image1']; } else { $data['config_image1'] = $this->config->get('config_image1'); } if (isset($this->request->post['config_image1']) && is_file(DIR_IMAGE . $this->request->post['config_image1'])) { $data['thumb1'] = $this->model_tool_image->resize($this->request->post['config_image1'], 100, 100); } elseif ($this->config->get('config_image1') && is_file(DIR_IMAGE . $this->config->get('config_image1'))) { $data['thumb1'] = $this->model_tool_image->resize($this->config->get('config_image1'), 100, 100); } else { $data['thumb1'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); // далее завершающая часть (setOutput ) } protected function validate() { // проверка прав доступа пользователя для работы с модулем if (!$this->user->hasPermission('modify', 'module/category')) { $this->error['warning'] = $this->language->get('error_permission'); } // проверка заданы ли текстовые поля if (!$this->request->post['config_image1']) { $this->error['code'] = $this->language->get('error_code'); } return !$this->error; } } Кусок кода представления admin/view/template/module/slider.tpl: <div class="form-group"> <label class="col-sm-2 control-label" for="input-image"><?php echo $entry_image; ?></label> <div class="col-sm-10"><a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="<?php echo $thumb1; ?>" alt="" title="" data-placeholder="<?php echo $placeholder; ?>" /></a> <input type="hidden" name="config_image1" value="<?php echo $config_image1; ?>" id="input-image" /> </div> </div> Кусок кода catalog/controller/module/slider.php: <?php class ControllerModuleSlider extends Controller { public function index() { $this->load->language('module/slider'); //подключаем любой языковой файл $data['heading_title'] = $this->language->get('heading_title'); //объявляем переменную heading_title с данными из языкового файла $data['slider_slide1_span'] = $this->config->get('slider_slide1_span'); $data['slider_slide2_span'] = $this->config->get('slider_slide2_span'); $data['slider_slide3_span'] = $this->config->get('slider_slide3_span'); $data['slider_slide4_span'] = $this->config->get('slider_slide4_span'); $data['slider_slide1_bold'] = $this->config->get('slider_slide1_bold'); $data['slider_slide2_bold'] = $this->config->get('slider_slide2_bold'); $data['slider_slide3_bold'] = $this->config->get('slider_slide3_bold'); $data['slider_slide4_bold'] = $this->config->get('slider_slide4_bold'); $data['config_image1'] = $this->config->get('config_image1'); //стандартная процедура для контроллеров OpenCart, выбираем файл представления модуля для вывода данных if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/slider.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/module/slider.tpl', $data); } } }?> Кусок кода catalog/view/template/module/slider.tpl: <div class="main_title slide" > <img src="<?php echo $config_image1; ?>" alt="<?php echo $slider_slide1_span . ' ' . $slider_slide1_bold; ?>"> <div class="container--small"> <div class="title_text"> <span><?php echo $slider_slide1_span; ?></span> <h1><?php echo $slider_slide1_bold; ?></h1> </div> </div> </div> Проблема в том, что в представление catalog/view/module/slider.tpl $config_image1 передаётся как (unknown). Есть мысли, что это из-за модификации имён переменных, т.к. они участвуют в AJAX запросах. Подскажите, пожалуйста, почему приходит (unknown)? Не использую модель, т. к. с текстовыми полями это работает и по аналогии (из setting.php) пытаюсь сделать с картинкой.
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.