Перейти к содержанию
lucky7

[Решено {кеш модификаторов}] Вывод подкатегорий картинками

Рекомендуемые сообщения

Здравствуйте. Хочу сделать вывод подкатегорий картинками . Использую Opencart 2.0.2 с темой coloring. Вношу изменения в файлы \shop\catalog\view\theme\coloring\template\product\category.tpl  и  \shop\catalog\controller\product\category.php

Вот они (в части изменений)

category.php

 

$data['categories'] = array();
 
$results = $this->model_catalog_category->getCategories($category_id);
 
foreach ($results as $result) {
$filter_data = array(
'filter_category_id'  => $result['category_id'],
'filter_sub_category' => true
);
if ($result['image']) {
$caimage = $this->model_tool_image->resize($result['image'], 100, 100);
}
else {
$caimage = $caimage = $this->model_tool_image->resize('no_image.png', 100, 100);
}
$data['categories'][] = array(
'name' => $result['name'],
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
'image' => $caimage,
);
}
 
 
category.tpl
 
<?php if ($categories) { ?>
      <h3><?php echo $text_refine; ?></h3>
      <div class="row">
        <div class="subcats">
          <ul>
            <?php foreach ($categories as $category) { ?>
            <li class="col-sm-3">
            <a href="<?php echo $category['href']; ?>">
            <img src="<?php echo $category['image']; ?>" alt="<?php echo $category['name']; ?>" />
            <?php echo $category['name']; ?>
            </a>
                       </li>
            <?php } ?>
          </ul>
        </div>
      </div> 
      <?php } ?>
 
Проблема в том что картинки не выводятся, а только названия. Вместо картинок ошибка
 
Как решить эту проблему с выводом картинок? Заранее благодарен.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У автора шаблона уточнить.Подскажет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожалуй, подпишусь на эту тему... Вдруг что-нибудь пропущу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$caimage

 

Так видно?

Изменено пользователем mazein

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

$caimage

 

Так видно? 

Что вы имели ввиду?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня вот так всё отлично работает:

Контроллер:
 

if ($result['image']) {
$caimage = $this->model_tool_image->resize($result['image'], 100, 100);
}
else {
$caimage = $this->model_tool_image->resize('no_image.png', 100, 100);
}


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


'short_description' => substr(strip_tags(html_entity_decode($result['description'])),0,350). "...",
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
'image' => $caimage
);
}

 

Вывод:

<img src="<?php echo $category['image']; ?>"
Изменено пользователем mazein

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал по вашему примеру, но опять та же самая ошибка

<img src="<b>Notice</b>: Undefined index: image in <b>E:\server1\OpenServer\domains\shop\catalog\view\theme\coloring\template\product\category.tpl</b> on line <b>23</b>"
           

Картинки не выводятся        

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
/system/storage/modification/catalog/controller/product/category.php
/system/storage/modification/catalog/view/theme/coloring/template/product/category.tpl

 такие файлы есть? в них правили?

Изменено пользователем mazein

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нет, я правил в основной директории \shop\catalog\view\theme\coloring\template\product\category.tpl 

и  \shop\catalog\controller\product\category.php

А надо было в system что-ли?

У меня есть файлы о которых вы написали, только они не в storage.   Директории storage у меня нет. 

Есть такие shop\system\modification\catalog\controller\product\category.php

shop\system\modification\catalog\view\theme\coloring\template\product\category.tpl 

 

Сейчас попробую в них поправить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не надо там ничё править.

В админке Менеджер дополнений - кнопка "обновить"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что- то не нашел  Менеджер дополнений

В какой вкладке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дополнения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это opencart 2.0.2 В админке нет вкладки Дополнения....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:-D Тогда остаётся только забить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем, кто помогал! Я разобрался. Просто вручную прописал в shop\system\modification\catalog\controller\product\category.php то же самое что в основном контроллере, и все заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

И больше не вносить изменения в файлы кэша.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, нашел как обновить кэш. В opencart 2.0.2 это делается во вкладке Модификаторы. После внесения правок в файлы сайта, необходимо во вкладке модификаторы в верхнем правом углу нажать "Очистить", а затем "Обновить", и все обновляется нормально, без правок вручную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.