[Решено] Показывать страницу производителя даже если нет товаров

Тема в разделе "OpenCart", создана пользователем winner7, 20 мар 2013.

  1. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    Приветствую! Вопрос по разделу "производители". Главная » Производители
    Поиск товаров по производителю

    Если у производителя назначены товары, то выводится список товаров и описание производителя. А если товары не назначены, то выводится надпись : "Нет товаров этого производителя" и описание производителя не выводится.
    Как сделать, чтоб выводилось описание производителя, даже если товаров нет?
    И второй вопрос: как сделать, чтоб описание производителя выводилось перед товарами а не после?
     
  2. dbunt1tled

    dbunt1tled

    Регистрация:
    18 фев 2013
    Сообщения:
    233
    Симпатии:
    44
    в файле catalog/view/theme/default/template/product/manufacturer_info.tpl
    найти кусок кода
    PHP:
    <?php if ($description) { ?>
    <div class="manufacturer-info"><?php echo $description?></div>
    <?php ?>
    и вставить его перед
    PHP:
    <h1><?php echo $heading_title?></h1>
     
    ГорМастер и winner7 нравится это.
  3. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    Это ответ на 1 или на 2 вопрос?
     
  4. dbunt1tled

    dbunt1tled

    Регистрация:
    18 фев 2013
    Сообщения:
    233
    Симпатии:
    44
    на оба вопроса (блок нужно вырезать и вставить)
     
    winner7 нравится это.
  5. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    А как еще убрать это: Нет товаров этого производителя.
     
  6. dbunt1tled

    dbunt1tled

    Регистрация:
    18 фев 2013
    Сообщения:
    233
    Симпатии:
    44
    в том же файле удалить строчку
    <?php echo $text_empty; ?>
    --- добавлено: 20 мар 2013 в 15:57 ---
    или
    catalog\language\russian\product\manufacturer.php
    $_['text_empty'] = '';
     
    winner7 нравится это.
  7. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    101
    catalog/view/theme/default/template/product/manufacturer_info.tpl

    кусок кода:
    Код:
    <div class="pagination"><?php echo $pagination; ?></div>
    <?php if ($description) { ?>
    <div class="manufacturer-info"><?php echo $description; ?></div>
    <?php } ?>
    <?php } else { ?>
    <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 }?>
    
    привести к виду:
    Код:
    <div class="pagination"><?php echo $pagination; ?></div>
    <?php }?>
    
    после:
    Код:
    <h1><?php echo $heading_title; ?></h1>
    
    добавить:
    Код:
    <?php if ($description) { ?>
    <div class="manufacturer-info"><?php echo $description; ?></div>
    <?php } ?>
    
     
    winner7 нравится это.
  8. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    Помогите вывести логотип производителя и информацию о производителе в не дефолтном шаблоне Rgen - там на странице производитель выводятся только товары, а мне надо вывести инфу и лого производителя http://galerein.com/eneljanova_natalia
    Код:
    <?php echo $header; ?>
     
    <div id="content">
     
    <!--CONTENT LEFT -->
    <?php echo $column_left; ?>
     
    <!--CONTENT RIGHT -->
    <?php echo $column_right; ?>
     
    <!--PAGE CONTENT WRAPPER -->
    <div class="content-body">
     
    <div class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <span><?php echo $breadcrumb['separator']; ?></span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
    <?php } ?>
    </div>
     
    <h1 class="page-heading"><strong><?php echo $heading_title; ?></strong></h1>
     
    <?php echo $content_top; ?>
     
     
    <!--PRODUCT FILTER TOOLS -->
    <?php if ($products) { ?>
    <div class="product-filter">
    <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 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="product-compare"><a href="<?php echo $compare; ?>" id="compare-total" class="button"><?php echo $text_compare; ?></a></div>
    <div class="display">
    <!--<b><?php echo $text_display; ?></b> --> <b><?php echo $text_list; ?></b>
    <a onclick="display('grid');"><?php echo $text_grid; ?></a>
    </div>
    <span class="hr"></span>
    </div>
     
    <!--PRODUCT LIST AREA -->
    <div class="product-list">
     
    <!--PRODUCT BOX -->
    <?php foreach ($products as $product) { ?>
    <div class="prd-block">
     
     
    <div class="image">
    <?php if ($product['special']) { ?>
    <span class="offer-tag"></span>
    <?php } ?>
    <a href="<?php echo $product['href']; ?>">
    <?php if ($product['thumb']) { ?>
    <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" />
    <?php } ?>
    </a>
    </div>
     
     
    <div class="info-wrp">
    <div class="info">
    <strong class="nameText"><a href="<?php echo $product['href']; ?>" class="name"><?php echo $product['name']; ?></a></strong>
    <div class="description"><?php echo $product['description']; ?></div>
    <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
    <span class="cart-button"><input class="cart-bt" type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" /></span>
    <ul>
    <li><a href="<?php echo $product['href']; ?>"><?php echo $button_moreinfo; ?> <span>&#8250;</span></a></li>
    <li><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?> <span>&#8250;</span></a></li>
    <li class="last"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?> <span>&#8250;</span></a></li>
    </ul>
    </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']) { ?>
    <span class="price-tax"><?php echo $text_tax; ?><br />
    <?php echo $product['tax']; ?></span>
    <?php } ?>
    </div>
    <?php } ?>
     
    </div>
    </div>
    <?php } ?>
    <div class="clearfix"></div>
    </div>
     
    <div class="pagination"><?php echo $pagination; ?></div>
    <?php } else { ?>
     
    <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 }?>
     
    </div>
     
    <div class="clearfix"></div>
    <?php echo $content_bottom; ?>
     
    </div>
    <script type="text/javascript"><!--
    function display(view) {
    if (view == 'list') {
     
    $('.product-grid').attr('class', 'product-list');
     
     
    $('.product-list > .prd-block').each(function(index, element) {
     
    $('.grid-block').off('hover');
    $('.product-grid > .prd-block').addClass('list-block');
     
    // PRODUCT IMAGE
    var image = $(element).find('.image').html();
    html = '<div class="image">' + image + '</div>';
     
    html += '<div class="info-wrp">'
    html += '<div class="info">'
    html += '<strong class="nameText">' + $(element).find('.nameText').html() + '</strong>';
    html += '<div class="description">'+ $(element).find('.description').html() +'</div>';
    html += '<div class="buy-option">';
    html += '<span class="cart-button">' + $(element).find('.cart-button').html() + '</span>';
    html += '<ul>' + $(element).find('ul').html() + '</ul>';
    html += '</div>';
    html += '</div>'
     
    var price = $(element).find('.price').html();
    if (price != null) {
    html += '<div class="price-wrp">';
    html += '<div class="price">' + price  + '</div>';
    html += '</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>');
    $('.display').html('<b class="list-bt"><?php echo $text_list; ?></b> <a class="grid-bt" onclick="display(\'grid\');"><?php echo $text_grid; ?></a>');
     
    $.cookie('display', 'list');
    } else {
    $('.product-list').attr('class', 'product-grid');
     
    $('.product-grid > .prd-block').each(function(index, element) {
    $('.product-grid > .prd-block').addClass('grid-block');
     
    // PRODUCT IMAGE
    var image = $(element).find('.image').html();
    html = '<div class="image">' + image + '</div>';
     
    html += '<div class="info-wrp">'
    html += '<div class="info">'
    html += '<strong class="nameText">' + $(element).find('.nameText').html() + '</strong>';
    html += '<div class="description" style="display:none;">'+ $(element).find('.description').html() +'</div>';
    html += '<span class="cart-button">' + $(element).find('.cart-button').html() + '</span>';
    html += '<ul>' + $(element).find('ul').html() + '</ul>';
    html += '</div>'
     
    // PRODUCT PRICE
    var price = $(element).find('.price').html();
    if (price != null) {
    html += '<div class="price">' + price  + '</div>';
    }
     
    html += '</div>';
     
    $(element).html(html);
     
     
    });
     
    $('.display').html('<a onclick="display(\'list\');" class="list-bt"><?php echo $text_list; ?></a><b class="grid-bt"><?php echo $text_grid; ?></b>');
     
    $.cookie('display', 'grid');
     
    $('.grid-block').on('hover');
    setHover();
    }
    }
     
    view = $.cookie('display');
     
    if (view) {
    display(view);
    } else {
    display('grid');
    }
     
    function setHover(){
    var H = $('.grid-block').find('.info-wrp').outerHeight();
    $('.grid-block').hover(
    function(){
    $(this).find('.info-wrp').stop().animate({
    bottom:1
    }, 300, function(){});
    },
    function(){
    H;
    $(this).find('.info-wrp').stop().animate({
    bottom:-(H-1)
    }, 300, function(){});
     
    }
    );
    }
     
     
    //--></script>
    <?php echo $footer; ?>
    --- добавлено: Apr 23, 2013 11:26 AM ---
    Что делать? Не выводится информация.. Очень надо срочно, помогите!
    --- добавлено: Apr 23, 2013 11:43 AM ---
    Надо чтоб было вот так
    [​IMG]
    --- добавлено: Apr 23, 2013 11:46 AM ---
    Вставляю после
    Код:
    <h1 class="page-heading"><strong><?php echo $heading_title; ?></strong></h1>
    строчки (в шаблоне не было этого)
    Код:
    <?php if ($description) { ?>
    <div class="manufacturer-info"><?php echo $description; ?></div>
    и все равно ничего не меняется...
    --- добавлено: Apr 23, 2013 12:09 PM ---
    Выдает вот такие ошибки
    Код:
    2013-04-23 15:38:03 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 21
    2013-04-23 15:39:16 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 21
    2013-04-23 15:40:21 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 21
    2013-04-23 15:47:30 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 22
    2013-04-23 15:48:05 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 22
    2013-04-23 15:49:39 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 22
    2013-04-23 15:55:22 - PHP Notice:  Undefined variable: description in /home/srv31604/galerein.com/catalog/view/theme/rgen-opencart/template/product/manufacturer_info.tpl on line 22
     
  9. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    101
    catalog/view/theme/ТЕМА/template/product/manufacturer_info.tpl

    после:
    Код:
    <h1 class="page-heading"><strong><?php echo $heading_title; ?></strong></h1>
    добавить:
    Код:
    <?php if ($description) { ?>
    <div class="manufacturer-info"><?php echo $description; ?></div>
    <?php } ?>

    catalog/controller/product/manufacturer.php

    проверить на существование:
    Код:
    $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8');
    если нет, то добавить её перед:
    Код:
    $this->data['heading_title'] = $manufacturer_info['name'];
    ещё бы советовал убрать из h1 классы и strong, всё это можно в стилях прописать для h1
     
    winner7 нравится это.