Как отобразить изображения категорий в OpenCart

Как отобразить изображения категорий в OpenCart

21.05.2014 01:49:52 Просмотров 38 Источник

Мои категории.php модуль в контроллере:

        $this->data['categories'][] = array(
            'category_id'       => $category['category_id'],
            'name'              => $category['name'],
            'image'             => $category['image'],
            'children'          => $children_data,              
            'href'              => $this->url->link('product/category', 'path=' . $category['category_id'])
        );  

Мои категории.tpl in / продукты/ (просмотр)

  <?php foreach ($categories as $category) { ?>
  <li><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['image']; ?>" alt="<?php echo $category['name']; ?>"></a></li>
  <?php } ?>

Однако это просто дает мне ошибку, говоря, что переменная неизвестна.

Я делаю что-то не так?

У вопроса есть решение - Посмотреть?

Ответы - Как отобразить изображения категорий в OpenCart / How to display Category images in OpenCart

Является ответом!
Jonid Bendo

21.05.2014 11:26:48

  1. Первая проблема заключается в том, что вы редактируете неправильный файл контроллера, вы должны отредактировать контроллер/продукт/категорию.php, если вы хотите, чтобы ваши изменения отображались в этом конкретном представлении.

  2. Изображения не будут отображаться как есть, так как они не сохраняются в базе данных в виде полного url-адреса:

    вместо => $category['image']

    оно должно быть => DIR_IMAGE.$category['image']

Надеюсь, это решит ваш ответ.

https://stackoverflow.com/questions/23770582/how-to-display-category-images-in-opencart/23776687#comment36582740_23776687
Где мне нужно определить DIR_IMAGE.$result ['image'];?
https://stackoverflow.com/questions/23770582/how-to-display-category-images-in-opencart/23776687#comment36594972_23776687
Вам не нужно ничего определять, просто замените код, который я указал внутри кода, который вы предоставили сами. Это если вы хотите получить исходный размер изображений, Если вы хотите изменить размер всех изображений до стандартного размера, вы должны следовать инструкциям shadyxx.
https://stackoverflow.com/questions/23770582/how-to-display-category-images-in-opencart/23776687#comment36614268_23776687
Нет проблем, рад, что смог помочь :)
shadyyx

21.05.2014 11:28:56

Ваш подход был хорош, но чего - то не хватает-хорошо изменить размер изображения между показами, чтобы пользователи могли загружать меньше (или меньше) ресурсов при просмотре вашего магазина.

Вместо

            'image'             => $category['image'],

использовать это

            'image'             => $this->model_tool_image->resize($category['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),

Это обеспечит изменение размера изображений до размеров, определенных в администрировании, и добавит DIR_IMAGEперед путем изображения.

Если эта строка отсутствует в исходном коде:

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

убедитесь, что вы добавили его до того, как изображение категории будет изменено.

Закрыть X