Jump to content

Search the Community

Showing results for tags 'контроллер'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Основной
    • Новости и анонсы
    • Предложения и пожелания
    • Акции, подарки, конкурсы и награды
  • For developers
    • Общие вопросы
    • Нововведения на форуме
  • Opencart 3.x
    • Opencart 3.x: Общие вопросы
    • Opencart 3.x: Установка и обновление
    • Opencart 3.x: Локализация
    • Opencart 3.x: Настройка и оптимизация
    • Opencart 3.x: Песочница
    • Opencart 3.x: Поиск модулей
    • Opencart 3.x: Отчёты об ошибках
  • Opencart 2.x
    • Opencart 2.x: Общие вопросы
    • Opencart 2.x: Установка и обновление
    • Opencart 2.x: Локализация
    • Opencart 2.x: Настройка и оптимизация
    • Opencart 2.x: Песочница
    • Opencart 2.x: Поиск модулей
    • Opencart 2.x / ocStore 2.x: Отчёты об ошибках
  • Поддержка и ответы на вопросы
    • Общие вопросы
    • Установка, обновление, настройка
    • Шаблоны, дизайн и оформление магазина
    • Модули и дополнения
    • Помощь программистам и разработчикам
    • Мобильная витрина
    • Вопросы безопасности
    • SEO-вопросы (оптимизация и продвижение магазина)
    • Перевод
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Создание магазинов под ключ
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Обновление версии движка магазина
    • Наполнение магазина
    • Системное администрирование (настройка хостинга, серверов, ПО)
    • Другие услуги
    • Отзывы об исполнителях
    • Отзывы о заказчиках
  • Разное
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению
    • Группы

Categories

  • Шаблоны
    • Бесплатные шаблоны
    • Платные шаблоны
  • Filters
  • Promotions & Pricing
  • Coupons & reward points, affiliate programs
  • Blogs, News & Articles
  • Shopping Cart & Order
  • Product Options
  • Product Attributes
  • Product Combinations
  • Search
  • SEO & Optimization
  • Caching & Server Performance
  • Платежные системы
  • Доставки
  • Editors
  • Design & Navigation
  • Banners, Slideshows & Galleries
  • Email Marketing & SMS Integration
  • Customer Support & Chat
  • Обмен данными
  • Учет в заказе
  • Compare & Wishlist
  • Социальные сети
  • Parsers
  • Модули
  • Tools & Developer Tools
  • Licenses
  • Языковые пакеты
  • Прочее
  • Отчеты
  • Сборки
  • Услуги

Categories

  • Настройка OpenCart
  • Служебные документы
  • Оплата

Blogs

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • AWS
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Записки от sitecreator
  • О программировании и другом
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Задачи, идеи, решения.
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Полезное с бесполезным
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Магазин Tv-Project.com
  • Мой копирайтинг
  • Разработка под Opencart
  • SEO боксинг специального назначения
  • Подбери свои боксерские перчатки
  • Get-Web Dev

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


MSN


Сайт


ICQ


Jabber


Skype


Город:


Интересы

Found 15 results

  1. Доброго времени суток. Есть задача: Необходимо настроить в админ панели выбор картинки для слайдера. Слайдер - отдельный модуль. Код контроллера 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) пытаюсь сделать с картинкой.
  2. Здравствуйте уважаемые программисты, у меня возникла интересная ситуация, решил добавить в footer.tpl вывод логотипа сайта, но выходит ошибка типа Notice: Undefined variable: logo in/home/m/mirzvuka/public_html/catalog/view/theme/coloring/template/common/footer.tplon line 27 в самом footer.tpl ввел <?php echo $logo;?> в чем проблема может быть ?
  3. Ребят всем привет! Знакомство с опенкартом я начал вчера, но уже почти сверстал на нем главную страницу своего макета. Я создаю тему для последующей продажи ее на темфоресте. В общем я столкнулся с проблемой, и, я думаю вы можете помочь мне решить ее) Вот демо макета который я "натягиваю" на опенкарт: http://demo.matart.ru/ А в ступор вводит меня следующее: 1) Как вывести модуль (какой?) твиттера в header? но так, чтоб владелец шаблона мог в настройках указать свой логин для импорта твитов? Мой друг, который работет с опенкартом сказал что нужно переписать контроллер, но, опять таки, как это сделать? 2) Тоже самое с кнопками соц сетей, нужно чтоб владелец мог выводить нужные ему соц сети) 3) Как я понял, меню категорий должно тоже находится в header'e, правильно? тогда как сделать чтоб оно шло под слайдером, слайдер тоже в хедер? На данный момент это все что меня беспокоит :) Всем добра! P.s. если у кого есть вопросы или желание работать с themeforest, пишите, могу ответить на ваши вопросы или просто поделиться опытом.
  4. добрый день! я полный профан вообще. блондинистая блондинка. вот эскперементирую, создаю для себя свой сайт сама. образовалась проблема. перестал работать личный раздел в подвале сайта, а также в шапке: закладки, постоянный покупатель и оформление заказа. выдает следующее: Warning: Cannot modify header information - headers already sent by (output started at home/h77777/data/www/мой сайт.com/catalog/language/russian/russian.php:1) in /home/h77777/data/www/мой сайт.com/system/engine/controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /home/h77777/data/www/мой сайт.com/catalog/language/russian/russian.php:1) in home/h77777/data/www/мой сайт.com/system/engine/controller.php on line 29 насколько я понимаю это проблема с этим файлом. перешла по пути. на для меня это просто ребус. помогите, что неправильно в коде. как поправить ситуацию. и возможно ли это?! что в этих строчках не так. цифр по идее не должно там быть, но что должно?! } protected function redirect($url, $status = 302) { header('Status: ' . $status); header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url)); exit(); } заранее благодарю за ответ))) если кто-то захочет помочь)))) вот сам код: <?php abstract class Controller { protected $registry; protected $id; protected $layout; protected $template; protected $children = array(); protected $data = array(); protected $output; public function __construct($registry) { $this->registry = $registry; } public function __get($key) { return $this->registry->get($key); } public function __set($key, $value) { $this->registry->set($key, $value); } protected function forward($route, $args = array()) { return new Action($route, $args); } protected function redirect($url, $status = 302) { header('Status: ' . $status); header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url)); exit(); } protected function getChild($child, $args = array()) { $action = new Action($child, $args); if (file_exists($action->getFile())) { require_once($action->getFile()); $class = $action->getClass(); $controller = new $class($this->registry); $controller->{$action->getMethod()}($action->getArgs()); return $controller->output; } else { trigger_error('Error: Could not load controller ' . $child . '!'); exit(); } } protected function render() { foreach ($this->children as $child) { $this->data[basename($child)] = $this->getChild($child); } if (file_exists(DIR_TEMPLATE . $this->template)) { extract($this->data); ob_start(); require(DIR_TEMPLATE . $this->template); $this->output = ob_get_contents(); ob_end_clean(); return $this->output; } else { trigger_error('Error: Could not load template ' . DIR_TEMPLATE . $this->template . '!'); exit(); } } } ?>
  5. Добрый день. Начинаю изучать opencart и столкнулся с такой проблемой. Мне нужно сделать выгрузку всех товаров в csv файл. Решил реализовать так - сделал модуль админки в которой по отправке формы перебираются все товары и информация о них записывается в фид. Но для получения ссылки на товар используя вот этот метод $this->url->link('product/product', '&product_id=' . $product['product_id']) получаю ссылку на товар в админке. Я так понимаю потому что в данном случае $this это экземпляр контроллера админки и метод url->link логично выдает такой урл. Но мне нужно получить урл на витринный товар. Подскажите можно ли из админки получить такую ссылку или возможно правильней будет делать как-то по другому. Есть мысли что можно сделать еще модуль для витрины и там получать все данные, но мне кажется что это не правильно так как модуль рассчитан только для администраторов и страницы на витрине у него не должно быть. Буду очень благодарен за любой совет. (п.с. Opencart 2.2.0)
  6. Доброй ночи, господа вопрос таков, Нужно вывести название категории в которой находится товар в шаблон Category.tpl Наглядно: Фото товара, далее идет название категории в которой он расположен и далее кнопка купить и тд...
  7. Пытаюсь в Opencart ocStore 2.1.0.2 в /catalog/controller/product/category.php внести правки, после чего заглядываю в категории магазина и не вижу своих изменений, думаю для теста удалить все содержимое файла, удаляю, обновляю, страница абсолютно без изменений (хотя /catalog/controller/product/category.php пустой), пробую дальше, переименовую файл category.php и обновляюсь - выдает ошибку. То есть получается, при пустом файле category.php у нас все хорошо работает. Вопрос, с чем это связано? И как мне все таки увидеть свои правки?
  8. во вьюшке написал такой код $.ajax({ type: "get", url: 'index.php?route=sale/order/historyajax&order_id='+order_id, success: function(responce){ //alert(responce); }, error: function() { alert("error"); } }); }); в контроллере метод такой public function historyajax() { $this->load->model('sale/order'); $order_id=$this->request->get['order_id']; $this->model_sale_order->deleteOrder($order_id); } как мне узнать получил ли контроллер переменную order_id или нет, потому что функция deleteOrder не срабатывает)
  9. Нужно прописать и вывести в админку новую переменную, конкретно в форме изменения заказа (версия 2.3) Вроде бы все просто, берем контроллер /admin/controller/sale/order.php и пишем в нем к примеру data['переменная'] = $this-> 'значение'; после public function getForm() { Далее пишем в файле шаблона <?php echo $переменная; ?> и дело сделано, переменная обозначена. Но я видимо делаю что то не так, так как вижу Notice: Undefined variable. Что я делаю не так и как это сделать правильно?
  10. Добрый день. У меня в классе продукта есть метод кототрый импортирует нужные товары, записей много и постоянно выскакивает ошибка таймаута. Решено запускать скрипт через консоль по ssh. Подскажите как в таком случае вызвать нужный контролер и в нем метод? Кто занимался подобным?
  11. Как в /catalog/model/extension/total/shipping.php обратиться к продуктам в корзине? K $this->cart->getProducts(). Opencart 2.3
  12. Здравствуйте, создавая свой контроллер, подключил загрузил в него уже существующий в подключенном контроллере есть переменная как теперь мне получить значение переменной $data['test']?
  13. Добрый день. У меня есть модуль, который выводит статьи в иерархической структуре (также, как модуль категорий). В нем большое кол-во статей и для пользователя я решил предусмотреть поле, где он бы смог по первым буквам произвести фильтрацию корневого уровня заголовков статей. За основу этого дополнения в существующий модуль я взял статью: https://opencartforum.com/topic/10422-svoi-modul-poiska/ . Но этого к сожалению не хватило, чтобы опция начала работать. Прошу вашей помощи, заранее благодарен. В общих чертах я решил реализовать задачу следующим образом: 1) в файле *.tpl разместить текстовый тег <input>, который возьмет запрос от пользователя и передаст в файл контроллера 2) файл контроллера в свою очередь передаст значение переменной в файл модуля 3) файл модуля отфильтрует в случае, если переменная не пустая, заголовки статей, после чего уже отфильтрованные заголовки попадут обратно в файл *.tpl Вью <div class="box"> <div class="box-heading"><?php echo $heading_title; ?></div> <form action="<?php echo $post_action; ?>" method="post" enctype="multipart/form-data"> <?php if ($poisk) { ?> <input type="text" name="poisk" value="<?php echo $poisk; ?>" /> <?php } else { ?> <input type="text" name="poisk" value="<?php echo 'Введите значение'; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" /> <?php } ?> <?php foreach($articles as $article) { ?> <?php if ($article['articles'] == $poisk) ?> value=<?php echo $article['articles']?> > <?php echo $article['articles'] ?> <?php } ?> </form> <div class="box-content"> <div class="box-category"> <ul> <?php foreach ($articles as $article) { ?> <li> <?php if ($article['article_id'] == $article_id) { ?> <a href="<?php echo $article['href']; ?>" class="active"><?php echo $article['name']; ?></a> <?php } else { ?> <a href="<?php echo $article['href']; ?>"><?php echo $article['name']; ?></a> <?php } ?> <?php if ($article['children']) { ?> <ul> <?php foreach ($article['children'] as $child) { ?> <li> <?php if ($child['article_id'] == $child_id) { ?> <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a> <?php } else { ?> <a href="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a> <?php } ?> </li> <?php } ?> </ul> <?php } ?> </li> <?php } ?> </ul> </div> </div> </div> контроллер <?php class ControllerModuleArticle extends Controller { protected function index($setting) { $this->language->load('module/article'); $this->data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['id'])) { $parts = explode('_', (string)$this->request->get['id']); } else { $parts = array(); } if (isset($parts[0])) { $this->data['article_id'] = $parts[0]; } else { $this->data['article_id'] = 0; } if (isset($parts[1])) { $this->data['child_id'] = $parts[1]; } else { $this->data['child_id'] = 0; } $this->data['post_action'] = $this->url->link('catalog/article'); $this->load->model('catalog/article'); $this->data['articles'] = array(); $articles = $this->model_catalog_article->getArticles(0); $this->data['articles'] = $articles; $this->data['poisk'] = false; if (isset($this->request->get['poisk'])) { $this->data['poisk'] = $this->input->get['poisk']; } else { $this->data['poisk'] = ''; } //////////////////////// -------------- модель <?php class ModelCatalogArticle extends Model { public function getArticle($article_id) { return $this->getArticles((int)$article_id, 'by_id'); } public function getArticles($id = 0, $type = 'by_parent') { static $data = null; if ($data === null) { $data = array(); $sql = "SELECT * FROM " . DB_PREFIX . "article a LEFT JOIN " . DB_PREFIX . "article_description ad ON (a.article_id = ad.article_id) LEFT JOIN " . DB_PREFIX . "article_to_store a2s ON (a.article_id = a2s.article_id) WHERE ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND a2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND a.status = '1'"; if (!empty($data['poisk'])) { $sql .= " AND LCASE(ad.name) LIKE '" . $this->db->escape(utf8_strtolower($data['poisk'])) . "%'"; } $sql .= " ORDER BY a.parent_id, a.sort_order, ad.name"; $query = $this->db->query($sql); foreach ($query->rows as $row) { $data['by_id'][$row['article_id']] = $row; $data['by_parent'][$row['parent_id']][] = $row; } } return ((isset($data[$type]) && isset($data[$type][$id])) ? $data[$type][$id] : array()); } ///////////////////////////////////-----------------------------------------
  14. Всем привет! Вопрос, необходимо изменять текст в корзине, в зависимости от того, на какой категории находится пользователь. То есть в шаблоне корзины хочу вывести примерно следующее: <?php if ($category_id == 95){ ?> <h2>Корзина 1</h2> <?php }elseif ($category_id == 108){ ?> <h2 class="title">Корзина 2</h2> <?php } ?> Проблема в том, как определить переменную category_id в контроллере? Пробую так в cart.php: $category_info = $this->model_catalog_category->getCategory($category_id); $data['categories'] = array(); $data['category_id'] = $category_id; $results = $this->model_catalog_category->getCategories($category_id); Но не работает. Подскажите пожалуйста, кто знает?
  15. Доброго времени суток уважаемые гуру форума! Заранее всем спасибо за внимание к моей проблеме. Описание: долго грузится категория (пациент: klukva-shop.ru/lico или любая другая категория), category.php что-то там такое исполняет секунд 5-10 и только потом начинает отдавать контент браузеру. Главная грузится быстро. Методом тыка понял что это controller/product/category.php. Файл прилагаетсяcategory.php Выставил $product_total = 0; не помогает​ Вопросы: 1. Правильно ли я грешу на контроллер category.php? 2. Если правильно что делать или хотябы куда смотреть?? P.S. У меня подозрение что он тупо вместо отдачи статичной страницы с линками на подкатегории еще и выполняет какие-то тяжелые задачи вроде формирование списков товаров при этом их не показывая...
×

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.