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

Как вывести картинку категории в меню?


Recommended Posts

Пробую так: 
в catalog/controller/common.menu.php

<?php
class ControllerCommonMenu extends Controller {
   public function index() {
      $this->load->language('common/menu');

      // Menu
      $this->load->model('catalog/category');

      $this->load->model('catalog/product');

      $data['categories'] = array();

      $categories = $this->model_catalog_category->getCategories(0);

      foreach ($categories as $category) {
         if ($category['top']) {
            // Level 2
            $children_data = array();

            $children = $this->model_catalog_category->getCategories($category['category_id']);

            foreach ($children as $child) {
               $filter_data = array(
                  'filter_category_id'  => $child['category_id'],
                  'filter_sub_category' => true
               );
                    if ($child['image']) {
                        $child_thumb = $this->model_tool_image->resize($child['image'], 50, 50);
                    } else {
                        $child_thumb = '';
                    }
               $children_data[] = array(
                  'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                  'thumb' => $child_thumb,
                  'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
               );
            }

            // Level 1
                if ($category['image']) {
                    $category_thumb = $this->model_tool_image->resize($category['image'], 50, 50);
                } else {
                    $category_thumb = '';
                }
            $data['categories'][] = array(
               'name'     => $category['name'],
               'children' => $children_data,
                    'thumb'    => $category_thumb,
               'column'   => $category['column'] ? $category['column'] : 1,
               'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
            );
         }
      }

      return $this->load->view('common/menu', $data);
   }
}

 

дальше в menu.twig добавил но не вывелась картинка категории. Что делаю не так?

<img src="{{ category.thumb }}" alt="">
Надіслати
Поділитися на інших сайтах


23 минуты назад, AlexDW сказал:

либо не туда добавляете

либо кеши обновить - модификаторов и шаблона

 

Кеши чищу везде. Вставляю тоже вроде туда

 

{% if categories %}
        <div class="col-md-12">
          <h4 class="block-title"><span>{{ text_category }}</span></h4>
          <ul>
              {% for category in categories %}
              {% if category.children %}
                <li><a href="{{ category.href }}">{{ category.name }}</a>
                    <img src="{{ category.thumb }}" alt="">
                  <div>
                    <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}
                        <ul class="list-unstyled">
                            {% for child in children %}
                              <li><a href="{{ child.href }}">{{ child.name }}</a></li>
                            {% endfor %}
                        </ul>
                        {% endfor %}</div>
                    <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div>
                </li>
              {% else %}
                <li><a href="{{ category.href }}">{{ category.name }}</a></li>
              {% endif %}
              {% endfor %}
          </ul>
        </div>

{% endif %} 
Надіслати
Поділитися на інших сайтах


вы модель (tool/image) не загружаете перед использованием, т.е.

$this->load->model('tool/image)';

должна быть вызвана до использования функции ресайз, там же где грузите модели товара и каталога

Надіслати
Поділитися на інших сайтах


В 17.06.2019 в 14:26, lexxkrt сказал:

вы модель (tool/image) не загружаете перед использованием, т.е.

$this->load->model('tool/image)';

должна быть вызвана до использования функции ресайз, там же где грузите модели товара и каталога

спасибо, код рабочий, просто не туда вставлял

Надіслати
Поділитися на інших сайтах


14 часов назад, martovytskyi сказал:

спасибо, код рабочий, просто не туда вставлял

но все равно, вы не загружаете модель tool_image в вашем коде. возможно он грузится где то в другом месте, поэтому работает, но правильнее было бы загружать модель в коде где вызывается. второй раз он его не загрузит

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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