Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

VladimirV

Новачок
  
  • Публікації

    26
  • З нами

  • Відвідування

Усі публікації користувача VladimirV

  1. Добрый вечер, у вас получилось решить проблему, я тоже с этим столкнулся
  2. Ну вот теперь новый вопрос всплыл, изменился формат вывода price и total за это как я понял отвечает в контроллере $this->currency->format а я то из массива выдергиваю в шаблоне и price и total, как применить что бы был одинаковый формат в частности мне нужно убрать нули после точки и вывести валюту
  3. Все разобрался, всем спасибо за помощь, особая благодарность AlexDX <?php foreach($order['product_info'] as $product_info) { ?> <?php echo $product_info['name']; ?> <?php } ?>
  4. Спасибо огромное, да я увидел что в массиве есть все необходимые мне: ключи и их значения. Я не могу понять как в шаблоне вывести например значение ключа name из этого массива?
  5. Вы мне уже почти все объяснили но я не пойму: В контролере добавил путь к модели и в переменную product_info передал массив, внутри массива orders $data['orders'] = array(); $this->load->model('extension/payment/ocstore_payeer'); $this->load->model('extension/payment/ocstore_yk'); $this->load->model('account/order'); $order_total = $this->model_account_order->getTotalOrders(); $results = $this->model_account_order->getOrders(($page - 1) * 10, 10); foreach ($results as $result) { $product_total = $this->model_account_order->getTotalOrderProductsByOrderId($result['order_id']); $voucher_total = $this->model_account_order->getTotalOrderVouchersByOrderId($result['order_id']); $ocstore_yk_onpay_info = $this->model_extension_payment_ocstore_yk->checkLaterpay($result['order_id']); $data['orders'][] = array( 'product_info' => $this->model_account_order->getOrderProducts($result['order_id']), 'price' => $result['price'], 'quantity' => $result['quantity'], 'order_id' => $result['order_id'], 'name' => $result['firstname'] . ' ' . $result['lastname'], 'status' => $result['status'], 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), /*'products' => ($product_total + $voucher_total),*/ 'total' => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']), 'ocstore_payeer_onpay' => $this->model_extension_payment_ocstore_payeer->checkLaterpay($result['order_id']) ? $this->url->link('extension/payment/ocstore_payeer/laterpay', sprintf('order_id=%s&order_tt=%s', $result['order_id'], $result['total'], 'SSL')) : '', 'ocstore_yk_onpay' => $ocstore_yk_onpay_info['onpay'] ? $this->url->link('extension/payment/ocstore_yk/laterpay', sprintf('order_id=%s&order_ttl=%s&paymentType=%s', $result['order_id'], $result['total'], $ocstore_yk_onpay_info['payment_code']), 'SSL') : '', 'view' => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], true), ); } в шаблоне внутри цикла <?php foreach ($orders as $order) { ?> вставляю <?php echo $order['product_info']; ?> получаю: Notice: Undefined index: product_info Почему шаблон не видит переменную с массивом. И не пойму как теперь из этого массива путем перебора получить имя модель и пр., пробовал через <?php foreach ($products as $product) { ?> ошибка
  6. В catalog\controller\account\order.php я взял код из метода Info вставил в тело функции index, вы сказали не туда, подскажите пожалуйста куда ее нужно вставить. И вы сказали не то заменил на $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); ошибка Notice: Undefined index: order_id Подскажите что куда и почему. Я вижу обращение к модели но почему оно не работает не могу понять <?php class ControllerAccountOrder extends Controller { public function index() { if (!$this->customer->isLogged()) { $this->session->data['redirect'] = $this->url->link('account/order', '', true); $this->response->redirect($this->url->link('account/login', '', true)); } $this->load->language('account/order'); $this->document->setTitle($this->language->get('heading_title')); $url = ''; if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home') ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_account'), 'href' => $this->url->link('account/account', '', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('account/order', $url, true) ); $data['heading_title'] = $this->language->get('heading_title'); $data['heading_subtitle'] = $this->language->get('heading_subtitle'); $data['text_empty'] = $this->language->get('text_empty'); $data['column_name'] = $this->language->get('column_name'); $data['column_quantity'] = $this->language->get('column_quantity'); $data['column_price'] = $this->language->get('column_price'); $data['column_total'] = $this->language->get('column_total'); $data['column_order_id'] = $this->language->get('column_order_id'); $data['column_customer'] = $this->language->get('column_customer'); $data['column_product'] = $this->language->get('column_product'); $data['column_total'] = $this->language->get('column_total'); $data['column_status'] = $this->language->get('column_status'); $data['column_date_added'] = $this->language->get('column_date_added'); $data['button_view'] = $this->language->get('button_view'); $data['button_ocstore_payeer_onpay'] = $this->language->get('button_ocstore_payeer_onpay'); $data['button_ocstore_yk_onpay'] = $this->language->get('button_ocstore_yk_onpay'); $data['button_continue'] = $this->language->get('button_continue'); if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } $data['orders'] = array(); $this->load->model('extension/payment/ocstore_payeer'); $this->load->model('extension/payment/ocstore_yk'); $this->load->model('account/order'); $order_total = $this->model_account_order->getTotalOrders(); $results = $this->model_account_order->getOrders(($page - 1) * 10, 10); foreach ($results as $result) { $product_total = $this->model_account_order->getTotalOrderProductsByOrderId($result['order_id']); $voucher_total = $this->model_account_order->getTotalOrderVouchersByOrderId($result['order_id']); $ocstore_yk_onpay_info = $this->model_extension_payment_ocstore_yk->checkLaterpay($result['order_id']); $data['orders'][] = array( 'order_id' => $result['order_id'], 'name' => $result['firstname'] . ' ' . $result['lastname'], 'status' => $result['status'], 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'products' => ($product_total + $voucher_total), 'total' => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']), 'ocstore_payeer_onpay' => $this->model_extension_payment_ocstore_payeer->checkLaterpay($result['order_id']) ? $this->url->link('extension/payment/ocstore_payeer/laterpay', sprintf('order_id=%s&order_tt=%s', $result['order_id'], $result['total'], 'SSL')) : '', 'ocstore_yk_onpay' => $ocstore_yk_onpay_info['onpay'] ? $this->url->link('extension/payment/ocstore_yk/laterpay', sprintf('order_id=%s&order_ttl=%s&paymentType=%s', $result['order_id'], $result['total'], $ocstore_yk_onpay_info['payment_code']), 'SSL') : '', 'view' => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], true), ); } $pagination = new Pagination(); $pagination->total = $order_total; $pagination->page = $page; $pagination->limit = 10; $pagination->url = $this->url->link('account/order', 'page={page}', true); $data['pagination'] = $pagination->render(); $data['results'] = sprintf($this->language->get('text_pagination'), ($order_total) ? (($page - 1) * 10) + 1 : 0, ((($page - 1) * 10) > ($order_total - 10)) ? $order_total : ((($page - 1) * 10) + 10), $order_total, ceil($order_total / 10)); $data['continue'] = $this->url->link('account/account', '', true); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); // Products $data['products'] = array(); $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); foreach ($products as $product) { $option_data = array(); $product_info = $this->model_catalog_product->getProduct($product['product_id']); if ($product_info) { $reorder = $this->url->link('account/order/reorder', 'order_id=' . $order_id . '&order_product_id=' . $product['order_product_id'], true); } else { $reorder = ''; } $data['products'][] = array( 'name' => $product['name'], 'quantity' => $product['quantity'], 'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), 'reorder' => $reorder, 'return' => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true) ); } $this->response->setOutput($this->load->view('account/order_list', $data)); }
  7. Ну это же как я понял для вывода в админке, или я ошибаюсь? а мне нужно в ...index.php?route=account/order Вот в контроллере вставляю в теле функции index свой код, но в шаблоне пишет Notice: Undefined variable: products не пойму почему, есть же запрос к модели, что не так, кде ошибка? $data['products'] = array(); $this->load->model('catalog/product'); $this->load->model('account/order'); $this->load->model('tool/upload'); $this->load->model('tool/image'); $products = $this->model_account_order->getOrderProducts($result['order_id']); foreach ($products as $product) { $product_info = $this->model_catalog_product->getProduct($product['product_id']); $data['products'][] = array( 'name' => $product['name'], 'model' => $product['model'], 'quantity' => $product['quantity'], ); }
  8. Вот код в контроллере который как я понимаю отвечает за обращение к модели для получения из бд нужных мне значений переменных. Я получаю Notice: Undefined index: order_id Подскажите в правильном ли я направлении двигаюсь и теперь как правильно мне получить значение order_id если подскажите код с пояснениями моих ошибок буду очень благодарен // Products $data['products'] = array(); $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); foreach ($products as $product) { $option_data = array(); $options = $this->model_account_order->getOrderOptions($this->request->get['order_id'], $product['order_product_id']); foreach ($options as $option) { if ($option['type'] != 'file') { $value = $option['value']; } else { $upload_info = $this->model_tool_upload->getUploadByCode($option['value']); if ($upload_info) { $value = $upload_info['name']; } else { $value = ''; } } $option_data[] = array( 'name' => $option['name'], 'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value) ); } $product_info = $this->model_catalog_product->getProduct($product['product_id']); if ($product_info) { $reorder = $this->url->link('account/order/reorder', 'order_id=' . $order_id . '&order_product_id=' . $product['order_product_id'], true); } else { $reorder = ''; } $data['products'][] = array( 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'quantity' => $product['quantity'], 'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), 'reorder' => $reorder, 'return' => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true) ); }
  9. Очень нужно. В шаблон я цикл вставил <?php foreach ($products as $product) { ?> <?php echo $product['name']; ?> <?php echo $product['price']; ?> <?php echo $product['quantity']; ?> <?php echo $product['total']; ?> <!-- <?php foreach ($product['option'] as $option) { ?> &nbsp; - <?php echo $option['name']; ?>: <?php echo $option['value']; ?> <?php } ?> --> <?php } ?> В модели все запросы как я понимаю есть ее трогать не нужно. Остается правильно отредактировать контроллер и вот здесь у меня возникал проблема так как опыта и знаний не хватает.
  10. Извините за ошибку я изночально написал в списке товаров и этим ввел в заблуждение, я имел ввиду в списке заказов .../index.php?route=account/order
  11. В списке заказов нужно нажать на ссылку просмотр. тогда перебрасывает на другую страницу с полной информацией по данному заказу. Я же пытаюсь вывести эту информацию на странице списка заказов. На screenshote выделена красным информация которую я пытаюсь безуспешно вывести.
  12. Подскажите как вывести информацию о товаре в списке товаров(не админка) , плагинов не нашел, и решений без плагинов не нашел. Если есть какая нибудь информация дайте ссылочку
  13. Проблема была в том что был установлен плагин с функцией reloadAll, вообщем мой клик не успевал срабатывать.
  14. $('#customer_register').change(function() {if($(this).is(":checked")) { $('#simplecheckout_button_next').trigger('click');}}); Подскажите, в чем моя ошибка. Я хочу что бы при клике по чекбоксу происходил переход по ссылке.Сейчас при клике и чекбокс включается, и по ссылке клик происходит но так, если бы чекбокс был отключен. Складывается впечатление, что сначала происходит клик по ссылке а потом уже срабатывает чекбокс. Хотя в ручном режиме все срабатывает.
  15. я с поддержкой хостинга уже 2 часа безуспешно общаюсь, сказали обращайся в поддержку cms, хотя я понимаю скорее всего вопрос в настройке сервера. Но суть в том что в настройках php - кодировка, я ничего не указал, соответственно по умолчанию должно быть utf-8, по крайней мере так оно работает на 5,4, но увы=(
  16. Установил openstore 2.3, после изменения версии php c 4.5 на 5.6 вместо русских букв в названии магазина разные символы. (Кодировка не указана ни в том ни в том случае)
  17. Здравствуйте решил добавить к фильтру возможность присваивать каждому элементу фильтра, изображение. ocStore-2.3.0.2.2 тема дефолтная, фильтр штатный В таблице бд добавил колонку image. скриншот прилагаю. Правил -admin/model/catalog/filter в теле функции addFilter добавил: if (isset($data['image'])}{ .... <?php class ModelCatalogFilter extends Model { public function addFilter($data) { $this->db->query("INSERT INTO `" . DB_PREFIX . "filter_group` SET sort_order = '" . (int)$data['sort_order'] . "'"); $filter_group_id = $this->db->getLastId(); foreach ($data['filter_group_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "filter_group_description SET filter_group_id = '" . (int)$filter_group_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'"); } if (isset($data['filter'])) { foreach ($data['filter'] as $filter) { $this->db->query("INSERT INTO " . DB_PREFIX . "filter SET filter_group_id = '" . (int)$filter_group_id . "', sort_order = '" . (int)$filter['sort_order'] . "', image = '" . (int)$filter['sort_order']. "'"); $filter_id = $this->db->getLastId(); if (isset($data['image'])) { $this->db->query("UPDATE" . DB_PREFIX . "filter SET image = '" . $this->db->escape($data['image']) . "' WHERE filter_id = '" . (int)$filter_id . "'"); } foreach ($filter['filter_description'] as $language_id => $filter_description) { $this->db->query("INSERT INTO " . DB_PREFIX . "filter_description SET filter_id = '" . (int)$filter_id . "', language_id = '" . (int)$language_id . "', filter_group_id = '" . (int)$filter_group_id . "', name = '" . $this->db->escape($filter_description['name']) . "'"); } } } return $filter_group_id; } в admin/controller/catalog/filter, в теле функции getForm: if (isset($this->request->get['filter_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $filter_info = $this->model_catalog_filter->getFilter($this->request->get['filter_id']); } if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($filter_info)) { $data['image'] = $filter_info['image']; } else { $data['image'] = ''; } $this->load->model('tool/image'); if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) { $data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($filter_info) && is_file(DIR_IMAGE . $filter_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($filter_info['image'], 100, 100); } else { $data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); в шаблоне: <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"> <img src="<?php echo $thumb; ?>" alt="img" title="" data-placeholder="<?php echo $placeholder; ?>" /> </a> <input type="hidden" name="image" value="<?php echo $image; ?>" id="input-image" /> В итоге изображение загружается в каталог image, но адрес не сохраняется в созданной мной колонке таблицы ну и соответственно не выводиться в админке, что я делаю не так? подскажите, очень хочется разобраться, информации очень мало на эту тему, заранее большое спасибо!
  18. Здравствуйте, прошу помощи в решение проблемы, пытаюсь адаптировать модуль ProScroller 2 2.0.0 под ocStore-2.3.0.2.2 Установил плагин, и в тех файлах где указывался путь model/module поменял на model/extension/module В результате в админ панели все хорошо а вот на странице сайта: Warning: Invalid argument supplied for foreach() in D:\OSPanel\domains\opencart\system\engine\loader.php on line 53Notice: Undefined property: Proxy::getProducts in D:\OSPanel\domains\opencart\catalog\controller\extension\module\proscroller.php on line 124
  19. Прошу помощи, решил вывести минимальную цену не в категориях а через модуль: ksl_OC_category, подскажите что нужно дописать в контроллере. Сейчас выводит: Notice: Undefined variable: category_id in /home/ih506839/public_html/catalog/controller/extension/module/categoryKsl.php on line 112 ocStore 2.3.0.2.2 в catalog>model>catalog>product добавил: public function getMinPriceFromCategory($category_id) { $query = $this->db->query("SELECT LEAST(p.price,IFNULL(ps.price, p.price)) min_price FROM `" . DB_PREFIX . "category` c RIGHT JOIN `" . DB_PREFIX . "product_to_category` p2c ON p2c.category_id = c.category_id RIGHT JOIN `" . DB_PREFIX . "product` p ON p2c.product_id = p.product_id LEFT JOIN `" . DB_PREFIX . "product_special` ps ON p.product_id = ps.product_id AND ps.date_end >= NOW() AND ps.date_start <= NOW() WHERE c.category_id = " . (int)$category_id . " AND p.status = 1 AND c.status = 1 ORDER BY min_price LIMIT 0,1 "); if ($query->num_rows) { return $query->row['min_price']; } else { return 0; } } в шаблоне category.tpl: <?php echo $min_price; ?> Вот сам контроллер: <?php class ControllerExtensionModuleCategoryKsl extends Controller { public function index() { //Определяем текущую категорию (path из GET запроса) if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; //родительская } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; //дочерняя } else { $data['child_id'] = 0; } if($data['child_id']) $data['category_id'] = null; $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); //Загружаем модель которая работает с таблицей настроек модулей (oc_setting) $this->load->model('setting/setting'); //Получаем значение - показывать ли изображения $category_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_images']; //Получаем значение - размеры изображений $category_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_height']; $category_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_weight']; //Для дочерних категорий $category_children = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_children']; $category_child_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_images']; $category_child_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_height']; $category_child_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_weight']; //Массив категорий, которые не нужно выводить if(isset($this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'])){ $categoryKsl_checkbox = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox']; } else $categoryKsl_checkbox = null; foreach ($categories as $category) { //Пропускаем, если в настройках указано отключить данную категорию if (isset($categoryKsl_checkbox[$category['category_id']])) { continue; } $children_data = array(); if ($category_children) { $children = $this->model_catalog_category->getCategories($category['category_id']); foreach($children as $child) { //Пропускаем, если в настройках указано отключить данную категорию if (isset($categoryKsl_checkbox[$child['category_id']])) { continue; } $filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true); //Работа с изображениями if ($category_child_images && is_file(DIR_IMAGE . $child['image'])) { $this->load->model('tool/image'); //метод создает изображения указанного размера $image = $this->model_tool_image->resize($child['image'], $category_child_images_weight, $category_child_images_height); } else { $image = ''; } $children_data[] = array( 'category_id' => $child['category_id'], 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']), 'image' => $image, ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); //Работа с изображениями if ($category_images && is_file(DIR_IMAGE . $category['image'])) { $this->load->model('tool/image'); //метод создает изображения указанного размера $image = $this->model_tool_image->resize($category['image'], $category_images_weight, $category_images_height); } else { $image = ''; } $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']), 'image' => $image, ); } $data['min_price'] = $this->model_catalog_product->getMinPriceFromCategory($category_id); //Добавляем свои стили $this->document->addStyle('catalog/view/theme/default/stylesheet/categoryKSL.css'); return $this->load->view('extension/module/categoryKsl', $data); } }
  20. Снова прошу вашей помощи, решил вывести мин. цену не в категориях а через модуль: ksl_OC_category, подскажите что нужно дописать в контроллере. Сейчас выводит: Notice: Undefined variable: category_id in /home/ih506839/public_html/catalog/controller/extension/module/categoryKsl.php on line 112 Вот сам контроллер: <?php class ControllerExtensionModuleCategoryKsl extends Controller { public function index() { //Определяем текущую категорию (path из GET запроса) if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; //родительская } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; //дочерняя } else { $data['child_id'] = 0; } if($data['child_id']) $data['category_id'] = null; $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); //Загружаем модель которая работает с таблицей настроек модулей (oc_setting) $this->load->model('setting/setting'); //Получаем значение - показывать ли изображения $category_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_images']; //Получаем значение - размеры изображений $category_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_height']; $category_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_weight']; //Для дочерних категорий $category_children = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_children']; $category_child_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_images']; $category_child_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_height']; $category_child_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_weight']; //Массив категорий, которые не нужно выводить if(isset($this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'])){ $categoryKsl_checkbox = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox']; } else $categoryKsl_checkbox = null; foreach ($categories as $category) { //Пропускаем, если в настройках указано отключить данную категорию if (isset($categoryKsl_checkbox[$category['category_id']])) { continue; } $children_data = array(); if ($category_children) { $children = $this->model_catalog_category->getCategories($category['category_id']); foreach($children as $child) { //Пропускаем, если в настройках указано отключить данную категорию if (isset($categoryKsl_checkbox[$child['category_id']])) { continue; } $filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true); //Работа с изображениями if ($category_child_images && is_file(DIR_IMAGE . $child['image'])) { $this->load->model('tool/image'); //метод создает изображения указанного размера $image = $this->model_tool_image->resize($child['image'], $category_child_images_weight, $category_child_images_height); } else { $image = ''; } $children_data[] = array( 'category_id' => $child['category_id'], 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']), 'image' => $image, ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); //Работа с изображениями if ($category_images && is_file(DIR_IMAGE . $category['image'])) { $this->load->model('tool/image'); //метод создает изображения указанного размера $image = $this->model_tool_image->resize($category['image'], $category_images_weight, $category_images_height); } else { $image = ''; } $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']), 'image' => $image, ); } $data['min_price'] = $this->model_catalog_product->getMinPriceFromCategory($category_id); //Добавляем свои стили $this->document->addStyle('catalog/view/theme/default/stylesheet/categoryKSL.css'); return $this->load->view('extension/module/categoryKsl', $data); } }
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.