Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

dmtrysh7

Newbie
  
  • Posts

    3
  • Joined

  • Last visited

1 Follower

dmtrysh7's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Reputation

  1. Версия ocStore 2.1.0.2.1 Долго бороздил интернет в поисках ответа. Не нашёл. Проблема: Error: Attribute information-contact not allowed on element body at this point. From line 31, column 1; to line 31, column 26 </head>↩↩↩<body information-contact>↩<head W3C валидатор ругается. OpenCart, как я понял, зачем-то автоматически приписывает этот атрибут для каждой страницы к body (соответственно с route этой страницы). Для главной страницы получается тег <body common-home> Для категории <body product-category-60 > к примеру Хотелось бы совета, как убрать это, либо сделать не критичным для валидатора
  2. Код скриптов не менял совсем. Поэтому, наверное, и не работает. Проверку поправил. На Banner сейчас посмотрю, спасибо.
  3. Доброго времени суток. Есть задача: Необходимо настроить в админ панели выбор картинки для слайдера. Слайдер - отдельный модуль. Код контроллера 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) пытаюсь сделать с картинкой.
×
×
  • Create New...

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.