[Помогите] изображения в списке категорий и подкатегорий

Тема в разделе "OpenCart", создана пользователем sonicking, 23 ноя 2015.

  1. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    436
    Симпатии:
    114
    подниму тему
    сайт уже на основном домене - igratoy.com
    как сделать, чтоб в подкатегориях, которым не присвоены изображения, выводилось просто название категории (без заглушки no_image)
    [​IMG]
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Для начала посмотрите контроллер категории, там в оригинале есть вот такой код:
    PHP:
    if ($result['image']) {
        
    $image $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
    } else {
        
    $image false;
    }
    У вас там, вероятно, вместо $image = false; вписан путь к no_image.
     
  3. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    436
    Симпатии:
    114
    посмотрел,
    в category.php это место у меня выглядит так
    PHP:
    if ($result['image']) {
               
    $image $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
             } else {
               
    $image $this->model_tool_image->resize('no_image.jpg'$this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
             }
    пробовал ставть $image = false; вместо пути к no_image не помогло
    чуть выше в коде есть следующее
    PHP:
    $this->data['categories'][] = array(
               
    'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' $product_total ')' ''),
               
    'href'  => $this->url->link('product/category''path=' $this->request->get['path'] . '_' $result['category_id'] . $url),
               
    'thumb' => $this->model_tool_image->resize(($result['image']=='' 'no_image.jpg' $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
             );
    если ещё тут удалить no_image.jpg (вот так
    PHP:
     'thumb' => $this->model_tool_image->resize(($result['image']=='' '' $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
    , то изображение-заглушка на сайте пропадает, а категории отображаются с двойным названием
     
    Lasted edited by : 23 дек 2015
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Первое название - это альт текст для тега изображения.
    Значит, надо ещё шаблон отредактировать - обернуть тег изображения в этот код:
    PHP:
    <?php if(!empty($category['thumb'])){ ?>

    <?php ?>
    Название переменной может отличаться, надо смотреть в шаблоне.
     
  5. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    436
    Симпатии:
    114
    может что то не там "обернул" - вообще категории не загружаются - белый экран
    вот код из category.tpl (я правильно понял, что его надо править?) отвечающий за вывод изображения:
    <div class="image"><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a></div>
    я заменил так:
    <div class="image"><a href="<?php echo $category['href']; ?>"><img src="<?php if(!empty($category['thumb'])){ ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a></div>
    или не правильно?
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Нет, конечно. Я же написал, что нужно обернуть тег изображения, а не извращаться внутри тега.
    PHP:
    <?php if(!empty($category['thumb'])){ ?>
        <img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" />
    <?php ?>
     
    sonicking нравится это.