Помощь Изображения в подкатегориях

ishkval

Профессор
Регистрация
2 Окт 2013
Сообщения
119
Реакции
41
Здравствуйте.
В основной категории отображаются подкатегории такого вида: Для просмотра ссылки Войди или Зарегистрируйся

Вопрос такой:
Где убрать текст: "Выберите подкатегорию" и как оформить данные категории примерно такого вида: Для просмотра ссылки Войди или Зарегистрируйся (если можно лучше, то замечательно). Т.е. с картинками отображать.

Спасибо.
 
Какая версия Опенкарта? В админке указаны картинки по категориям?
 
Какая версия Опенкарта? В админке указаны картинки по категориям?
Версия 1.5.6. Да указано, но не отображает.
Вообще, в идеале пойти в код и вставить изображение товара.

Есть ссылка на сайт?
Это делается примерно в views/product/category.tpl

Если вдруг - выгрузите код контроллера и вьюхи сюда (ну точнее в обменник какой), поможем.
Вот код views/product/category.tpl
PHP:
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>

<div id="content"><?php echo $content_top; ?>

  <div class="breadcrumb">

    <?php foreach ($breadcrumbs as $breadcrumb) { ?>

    <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>

    <?php } ?>

  </div>

  <h1><?php echo $heading_title; ?></h1>

  <?php if ($thumb || $description) { ?>

  <div class="category-info">

    <?php if ($thumb) { ?>

    <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></div>

    <?php } ?>

    <?php if ($description) { ?>

    <?php echo $description; ?>

    <?php } ?>

  </div>

  <?php } ?>

  <?php if ($categories) { ?>

  <h2><?php echo $text_refine; ?></h2>

  <div class="category-list">

  

  

  

  <?php if (count($categories) <= 5) { ?>

    <ul>

      <?php foreach ($categories as $category) { ?>

      <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>

      <?php } ?>

    </ul>

    <?php } else { ?>

    <?php for ($i = 0; $i < count($categories);) { ?>

    <ul>

      <?php $j = $i + ceil(count($categories) / 4); ?>

      <?php for (; $i < $j; $i++) { ?>

      <?php if (isset($categories[$i])) { ?>

      <li><a href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a></li>

      <?php } ?>

      <?php } ?>

    </ul>

    <?php } ?>

    <?php } ?>

  </div>

  <?php } ?>

  

  

  

  

  <?php if ($products && !$categories) { ?>

  <div class="product-filter">

    <div class="display"><b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display('grid');"><?php echo $text_grid; ?></a></div>

    <div class="limit"><b><?php echo $text_limit; ?></b>

      <select onchange="location = this.value;">

        <?php foreach ($limits as $limits) { ?>

        <?php if ($limits['value'] == $limit) { ?>

        <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option>

        <?php } else { ?>

        <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option>

        <?php } ?>

        <?php } ?>

      </select>

    </div>

    <div class="sort"><b><?php echo $text_sort; ?></b>

      <select onchange="location = this.value;">

        <?php foreach ($sorts as $sorts) { ?>

        <?php if ($sorts['value'] == $sort . '-' . $order) { ?>

        <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>

        <?php } else { ?>

        <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>

        <?php } ?>

        <?php } ?>

      </select>

    </div>

  </div>

  <div class="product-compare"><a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a></div>

  <div class="product-list">

    <?php foreach ($products as $product) { ?>

    <div>

      <?php if ($product['thumb']) { ?>

      <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>

      <?php } ?>

      <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>

      <div class="description"><?php echo $product['description']; ?></div>

      <?php if ($product['price']) { ?>

      <div class="price">

        <?php if (!$product['special']) { ?>

        <?php echo $product['price']; ?>

        <?php } else { ?>

        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>

        <?php } ?>

        <?php if ($product['tax']) { ?>

        <br />

        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>

        <?php } ?>

      </div>

      <?php } ?>

      <?php if ($product['rating']) { ?>

      <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>

      <?php } ?>

      <div class="cart">

        <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />

      </div>

      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>

      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>

    </div>

    <?php } ?>

  </div>

  <div class="pagination"><?php echo $pagination; ?></div>

  <?php } ?>

  <?php if (!$categories && !$products) { ?>

  <div class="content"><?php echo $text_empty; ?></div>

  <div class="buttons">

    <div class="right"><a href="<?php echo $continue; ?>" class="button"><?php echo $button_continue; ?></a></div>

  </div>

  <?php } ?>

  <?php echo $content_bottom; ?></div>

<script type="text/javascript"><!--

function display(view) {

    if (view == 'list') {

        $('.product-grid').attr('class', 'product-list');

       

        $('.product-list > div').each(function(index, element) {

            html  = '<div class="right">';

            html += '  <div class="cart">' + $(element).find('.cart').html() + '</div>';

            html += '  <div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';

            html += '  <div class="compare">' + $(element).find('.compare').html() + '</div>';

            html += '</div>';          

           

            html += '<div class="left">';

           

            var image = $(element).find('.image').html();

           

            if (image != null) {

                html += '<div class="image">' + image + '</div>';

            }

           

            var price = $(element).find('.price').html();

           

            if (price != null) {

                html += '<div class="price">' + price  + '</div>';

            }

                   

            html += '  <div class="name">' + $(element).find('.name').html() + '</div>';

            html += '  <div class="description">' + $(element).find('.description').html() + '</div>';

           

            var rating = $(element).find('.rating').html();

           

            if (rating != null) {

                html += '<div class="rating">' + rating + '</div>';

            }

               

            html += '</div>';


                       

            $(element).html(html);

        });    

       

        $('.display').html('<b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display(\'grid\');"><?php echo $text_grid; ?></a>');

       

        $.cookie('display', 'list');

    } else {

        $('.product-list').attr('class', 'product-grid');

       

        $('.product-grid > div').each(function(index, element) {

            html = '';

            html += '<div class="name">' + $(element).find('.name').html() + '</div>';

            var image = $(element).find('.image').html();

           

            if (image != null) {

                html += '<div class="image">' + image + '</div>';

            }

           

           

            html += '<div class="description">' + $(element).find('.description').html() + '</div>';

           

            var price = $(element).find('.price').html();

           

            if (price != null) {

                html += '<div class="price">' + price  + '</div>';

            }

           

            var rating = $(element).find('.rating').html();

           

            if (rating != null) {

                html += '<div class="rating">' + rating + '</div>';

            }

                       

            html += '<div class="cart">' + $(element).find('.cart').html() + '</div>';

            html += '<div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';

            html += '<div class="compare">' + $(element).find('.compare').html() + '</div>';

           

            $(element).html(html);

        });

                   

        $('.display').html('<b><?php echo $text_display; ?></b> <a onclick="display(\'list\');"><?php echo $text_list; ?></a> <b>/</b> <?php echo $text_grid; ?>');

       

        $.cookie('display', 'grid');

    }

}


view = $.cookie('display');


if (view) {

    display(view);

} else {

    display('list');

}

//--></script>

<?php echo $footer; ?>
 
Чтобы убрать текст "выберите подкатегорию" , закомментируйте строку:
Код:
<!-- <h2><?php echo $text_refine; ?></h2> -->
Для добавления картинок к категориям найдите код:
Код:
      <?php foreach ($categories as $category) { ?>

      <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>

      <?php } ?>
Замените на этот код:
Код:
      <?php foreach ($categories as $category) { ?>
      <li> <a href="<?php echo $category['href']; ?>"><img style="border-radius: 7px;  width: 120px; height: 120px;"
class="categoryimagesmall category-image-<?php echo $category['name']; ?>" src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" /><br><?php echo $category['name']; ?></a></li>
      <?php } ?>

Далее найдите код:
Код:
<?php if (isset($categories[$i])) { ?>

 <li><a href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a></li>

 <?php } ?>

Замените на этот код:
Код:
<?php if (isset($categories[$i])) { ?>

 <li><a href="<?php echo $categories[$i]['href']; ?>">
<img style="border-radius: 7px;  width: 120px; height: 120px;"
 class="categoryimagesmall category-image-<?php echo $categories[$i]['name']; ?>" src="<?php echo $categories[$i]['thumb']; ?>" title="<?php echo $categories[$i]['name']; ?>" /><br><?php echo $categories[$i]['name']; ?>
</a></li>

 <?php } ?>

Сохраните, проверяйте. Если будет ругаться на понятие "thumb", в контроллере category.tpl найти:
Код:
$this->data['categories'][] = array(
после него вставить код:
Код:
'thumb' => $image,
А перед этими двумя строками проверить наличие кода:
Код:
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
 
Чтобы убрать текст "выберите подкатегорию" , закомментируйте строку:
Код:
<!-- <h2><?php echo $text_refine; ?></h2> -->
Для добавления картинок к категориям найдите код:
Код:
      <?php foreach ($categories as $category) { ?>

      <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>

      <?php } ?>
Замените на этот код:
Код:
      <?php foreach ($categories as $category) { ?>
      <li> <a href="<?php echo $category['href']; ?>"><img style="border-radius: 7px;  width: 120px; height: 120px;"
class="categoryimagesmall category-image-<?php echo $category['name']; ?>" src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" /><br><?php echo $category['name']; ?></a></li>
      <?php } ?>

Далее найдите код:
Код:
<?php if (isset($categories[$i])) { ?>

<li><a href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a></li>

<?php } ?>

Замените на этот код:
Код:
<?php if (isset($categories[$i])) { ?>

<li><a href="<?php echo $categories[$i]['href']; ?>">
<img style="border-radius: 7px;  width: 120px; height: 120px;"
class="categoryimagesmall category-image-<?php echo $categories[$i]['name']; ?>" src="<?php echo $categories[$i]['thumb']; ?>" title="<?php echo $categories[$i]['name']; ?>" /><br><?php echo $categories[$i]['name']; ?>
</a></li>

<?php } ?>

Сохраните, проверяйте. Если будет ругаться на понятие "thumb", в контроллере category.tpl найти:
Код:
$this->data['categories'][] = array(
после него вставить код:
Код:
'thumb' => $image,
А перед этими двумя строками проверить наличие кода:
Код:
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));

Получилось вывести подкатегории с картинкой, но теперь возникла следующая проблема - каждая подкатегория выводится сверху вниз, а нужно вывести их по 3-4 блока. У одной подкатегории так и выводится: Для просмотра ссылки Войди или Зарегистрируйся

У всех остальных подкатегорий вывод не правильный: Для просмотра ссылки Войди или Зарегистрируйся

А нужно выводить по 3 блока горизнтальных.
В настройках в каждых основных категориях указано кол-во столбцов: 3
Сможете помочь?

Код /catalog/view/theme/theme/template/product

Для просмотра ссылки Войди или Зарегистрируйся
 
Найдите строку:
Код:
<?php if (count($categories) <= 5) { ?>
Замените цифру 5 на 1.

Далее, найдите строку
Код:
<?php $j = $i + ceil(count($categories) / 4); ?>
Замените 4 на 3.
 
Какая версия Опенкарта? В админке указаны картинки по категориям?
а для версии 1.5.5.1.2 что нужно прописать? что б с именем подкатегории так же отображалась картинка в выделенном месте, шаблон стоит "Lexus"
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Назад
Сверху