Jump to content
Sign in to follow this  
helen2014

Вывод статуса наличия товара в модулях (stock)

Recommended Posts

Здравствуйте!
Вывожу статус наличия товара в модулях. Во всех модулях вывелось все нормально, кроме рекомендуемых товаров. Подскажите, что не так?

В шаблоне tpl: <span class="stock"><?php echo $product['stock']; ?></span>

контроллер:

 

 if ($result['quantity'] <= 0) {
 $stock = $this->language->get('text_outstock');
 } elseif ($this->config->get('config_stock_display')) {
 $stock = $result['quantity'];
 } elseif ($result['quantity'] >= 1 AND $result['quantity'] <= 3) {
 $stock = $this->language->get('text_minstock');
 } else {
 $stock = $this->language->get('text_instock');
 }

ниже в массиве:

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

'stock'       => $stock,

Edited by helen2014

Share this post


Link to post
Share on other sites

Вместо $result должно быть $product_info

Share this post


Link to post
Share on other sites

У меня на ocStore 2.3.0.2.2 не работает данный способ

Share this post


Link to post
Share on other sites

Для своей версии ocStore 2.3.0.2.3 решил задачу так (для вывода информации о наличии в категории):

/catalog/controller/product/category.php

добавил после (229 строчка у меня)

'price'       => $price, 

код

'stock_status' => $result['stock_status'],

И в шаблоне /catalog/view/theme/default/template/product/category.tpl

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

Получил нужный для себя результат. Выводит для каждого товара в категории либо "В наличии", либо "Предзаказ", либо "Ожидание 2-3 дня"

 

PS: Попробовал в модулях (Последние, Хиты продаж, Спецпредложения) - решается точно также :)

Share this post


Link to post
Share on other sites
10 часов назад, recon10263266 сказал:

для 2,1 не работают оба способа

не выдумывайте.  способ @mister12 ,  прекрасно работает.  

Share this post


Link to post
Share on other sites
12 часов назад, fanatic сказал:

не выдумывайте.  способ @mister12 ,  прекрасно работает.  

Я говорю то что, увы, вижу. Кеши чистил переустанавливал на ряде доменов не срабатывало ни разу. Смысл мне врать?))

Share this post


Link to post
Share on other sites
4 часа назад, recon10263266 сказал:

Смысл мне врать?))

а я и не говорил что вы врете.

значит что-то не так сделали.

покажите,  что где меняли

Share this post


Link to post
Share on other sites
5 часов назад, fanatic сказал:

а я и не говорил что вы врете.

значит что-то не так сделали.

покажите,  что где меняли

сделал проще в языковом файле "в наличии" загнал в нужный размер и цвет, нет в наличии реализовал с помощью 

Думаб проблема была в мега фильтр про( я так думаю но не уверен)

Share this post


Link to post
Share on other sites

Здравствуйте. Может кто знает, как сделать один сток на несколько товаров? Напимер, у меня есть товары: чехол на айфон 5 и на айфон СЕ. В магазине это разные товары, но на реальном складе - по факту один. Нужно чтобы они списывались с одного источника stock.

Share this post


Link to post
Share on other sites
В 25.12.2017 в 11:02, mister12 сказал:

И в шаблоне /catalog/view/theme/default/template/product/category.tpl

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

в какое место вставлять этот код?

Share this post


Link to post
Share on other sites
3 часа назад, wkKOC сказал:

в какое место вставлять этот код?

Это уже вам решать, куда вставите там и появится. Можно под фото, можно под ценой

Share this post


Link to post
Share on other sites
11 часов назад, mister12 сказал:

Это уже вам решать, куда вставите там и появится. Можно под фото, можно под ценой

Чет фокус не удался :( 

Спойлер

<?php echo $header; ?>
<div class="container">
  <ul class="breadcrumb">
        <?php $breadcount = count($breadcrumbs) - 1; ?>
    <?php foreach ($breadcrumbs as $key => $breadcrumb) { ?>
        <?php if ($key != $breadcount) { ?>
        <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
        <?php } else {?>
        <li class="active"><?php echo $breadcrumb['text']; ?></li>
        <?php } ?>
    <?php } ?>
  </ul>
    <h1><?php echo $heading_title; ?></h1>
  <div class="row">
        <?php if ($subcategory_left) { ?>
        <?php if ($column_left || $categories) { ?>
        <div class="col-sm-4 col-md-3" id="category-column-left">
            <?php if ($categories) { ?>
            <div class="panel panel-default">
                <div class="panel-heading"><i class="fa fa-level-down"></i>&nbsp;&nbsp;<?php echo $text_refine; ?></div>
                <div class="list-group">
                    <?php foreach ($categories as $category) { ?>
                    <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
                    <?php } ?>
                </div>
            </div>
            <?php } ?>
            <?php echo $column_left; ?>
        </div>
        <?php } ?>
        <?php } else {?>
        <?php echo $column_left; ?>
        <?php } ?>
    <?php if (($column_left && $column_right) || ($column_right && ($categories && $subcategory_left))) { ?>
        <?php $twocols = true; ?>
    <?php $class = 'col-sm-4 col-md-6'; ?>
    <?php } elseif ($column_left || $column_right || ($categories && $subcategory_left)) { ?>
        <?php $twocols = false; ?>
    <?php $class = 'col-sm-8 col-md-9'; ?>
    <?php } else { ?>
        <?php $twocols = false; ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>">
            <?php echo $content_top; ?>
            <?php if ($description_position) { ?>
            <?php if ($thumb || $description) { ?>
      <div class="сategory-description red-links">
        <?php if ($thumb) { ?>
        <div class="pull-left"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" title="<?php echo $heading_title; ?>" class="img-thumbnail" style="margin: 0 10px 5px 0" /></div>
        <?php } ?>
        <?php if ($description) { ?>
        <?php echo $description; ?>
        <?php } ?>
                <div class="clearfix"></div>
      </div>
            <hr>
      <?php } ?>
            <?php } ?>
            <?php if (!$subcategory_left) { ?>
            <?php if ($categories) { ?>
            <!-- <div style="margin-bottom: 20px;"><i class="fa fa-level-down"></i>&nbsp;&nbsp;<?php echo $text_refine; ?></div> -->
            <div class="row">
                <?php foreach ($categories as $category) { ?>
                <div class="col-sm-6 col-md-4 col-lg-3">
                    <div  class="thumbnail subcategory" title="<?php echo $category['name']; ?>">
                        <a href="<?php echo $category['href']; ?>">
                            <div class="image">
                                <?php if ($category['image']) { ?>
                                <img src="<?php echo $category['image']; ?>" alt="<?php echo $category['name']; ?>" /> 
                                <?php } else { ?>
                                <i class="fa fa-image no-image"></i>
                                <?php } ?>
                            </div>
                            <div class="name-wrapper">
                            <?php echo $category['name']; ?>
                            </div>
                        </a>
                    </div>
                </div>
                <?php } ?>
            </div>
            <hr style="margin-top:0;">
            <?php } ?>
            <?php } ?>
      <?php if ($products) { ?>
            <div class="row">
                <div class="col-lg-12 products-filter">
                    <div class="btn-group">
                        <div class="btn-group">
                            <button type="button" id="grid-view" class="btn btn-default">
                                <i class="fa fa-th fa-fw"></i><span class="hidden-xs <?php if ($twocols) {echo 'hidden-lg';} ?>"> <?php echo $button_grid; ?></span>
                            </button>
                        </div>
                        <div class="btn-group">
                            <button type="button" id="list-view" class="btn btn-default">
                                <i class="fa fa-th-list fa-fw"></i><span class="hidden-xs <?php if ($twocols) {echo 'hidden-lg';} ?>"> <?php echo $button_list; ?></span>
                            </button>
                        </div>
                    </div>
                    <div class="btn-group pull-right">
                        <div class="btn-group" title="<?php echo $text_sort; ?>" id="sort-button">
                            <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                                <i class="fa fa-sort"></i>&nbsp;&nbsp;
                                <span class="hidden-xs <?php if ($twocols) {echo 'hidden-sm hidden-md hidden-lg';} ?> button-text">&nbsp;&nbsp;</span><i class="fa fa-angle-down caretalt"></i>
                            </button>
                            <ul class="dropdown-menu pull-right">
                                <?php foreach ($sorts as $sorts) { ?>
                                <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
                                <li><a href="<?php echo $sorts['href']; ?>"><b><?php echo $sorts['text']; ?></b></a></li>
                                <?php } else { ?>
                                <li><a href="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></a></li>
                                <?php } ?>
                                <?php } ?>
                            </ul>
                        </div>
                        <div class="btn-group" title="<?php echo $text_limit; ?>" id="limit-button">
                            <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                                <i class="fa fa-eye"></i>&nbsp;&nbsp;
                                <span class=" button-text">&nbsp;&nbsp;</span><i class="fa fa-angle-down caretalt"></i>
                            </button>
                            <ul class="dropdown-menu pull-right">
                                <?php foreach ($limits as $limits) { ?>
                                <?php if ($limits['value'] == $limit) { ?>
                                <li class="text-right"><a href="<?php echo $limits['href']; ?>"><b><?php echo $limits['text']; ?></b></a></li>
                                <?php } else { ?>
                                <li class="text-right"><a href="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></a></li>
                                <?php } ?>
                                <?php } ?>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
      <div class="row">
        <?php foreach ($products as $product) { ?>
        <div class="product-layout product-list col-xs-12">
          <div class="product-thumb thumbnail ">
                    
    
                        
                        
                        <div class="stickers-box">
                            <?php if ($special_sticker && $product['special_sticker_text']) { ?>
                            <div class="sticker-row"><div class="sticker s-special"><?php echo $product['special_sticker_text']; ?>%</div></div>
                            <?php } ?>
                            
                            <?php if ($ups_sticker && $product['ups_sticker_text']) { ?>
                            <div class="sticker-row"><div class="sticker s-ups"><?php echo $product['ups_sticker_text']; ?></div></div>
                            <?php } ?>
                            
                            <?php if ($ean_sticker && $product['ean_sticker_text']) { ?>
                            <div class="sticker-row"><div class="sticker s-ean"><?php echo $product['ean_sticker_text']; ?></div></div>
                            <?php } ?>
                            
                            <?php if ($jan_sticker && $product['jan_sticker_text']) { ?>
                            <div class="sticker-row"><div class="sticker s-jan"><?php echo $product['jan_sticker_text']; ?></div></div>
                            <?php } ?>
                            
                            <?php if ($isbn_sticker && $product['isbn_sticker_text']) { ?>
                            <div class="sticker-row"><div class="sticker s-isbn"><?php echo $product['isbn_sticker_text']; ?></div></div>
                            <?php } ?>
                            
                            <?php if ($mpn_sticker && $product['mpn_sticker_text']) { ?>
                            <div class="sticker-row"><div class="sticker s-mpn"><?php echo $product['mpn_sticker_text']; ?></div></div>
                            <?php } ?>
                        </div>
                        
                        
                    
                    
            <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive center-block" /></a></div>
            <div>
              <div class="caption">
                <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
                <p class="description"><?php echo $product['description']; ?></p>
                <div class="stock_status"><?php echo $product['stock_status']; ?></div>
               
                
                <?php if ($product['price']) { ?>
                <p class="price">
                  <?php if (!$product['special']) { ?>
                  <?php echo $product['price']; ?>
                  <?php } else { ?>
                  <span class="price-old">&nbsp;<?php echo $product['price']; ?>&nbsp;</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 } ?>
                </p>
                <?php } ?>
                
                                <?php if ($product['rating']) { ?>
                                <p class="rating">
                  <?php for ($i = 1; $i <= 5; $i++) { ?>
                  <?php if ($product['rating'] < $i) { ?>
                  <i class="fa fa-star"></i>
                  <?php } else { ?>
                  <i class="fa fa-star active"></i>
                  <?php } ?>
                  <?php } ?>
                                    &nbsp;&nbsp;<a href="<?php echo $product['href']; ?>"><?php echo $product['reviews']; ?></a>
                                </p>
                                <?php } else { ?>
                                <p class="rating">
                                    <i class="fa fa-star-o"></i>
                  <i class="fa fa-star-o"></i>
                                    <i class="fa fa-star-o"></i>
                                    <i class="fa fa-star-o"></i>
                                    <i class="fa fa-star-o"></i>
                                    &nbsp;&nbsp;<?php echo $product['reviews']; ?></a>
                                </p>
                                <?php } ?>
                                <div class="btn-group dropup">
                                    <?php if (($product['quantity'] <= 0) and $disable_cart_button){ ?>
                                    <button type="button" class="btn btn-addtocart" title="<?php echo $button_cart; ?>" disabled><?php echo $disable_cart_button_text; ?> </button>
                                    <?php } else { ?>
                                    <button type="button" class="btn btn-addtocart" onclick="cart.add('<?php echo $product['product_id']; ?>');" title="<?php echo $button_cart; ?>"><i class="fa fa-shopping-basket fa-fw"></i>&nbsp;&nbsp;<?php echo $button_cart; ?> </button>
                                    <?php } ?>
                                    <?php if ($on_off_qview && ($second_button == 'qview')){ ?>
                                    <button class="btn btn-addtocart" onclick="qview('<?php echo $product['product_id']; ?>')" data-toggle="tooltip" title="<?php echo $qview_text; ?>">
                                        <i class="fa fa-eye fa-fw"></i>
                                    </button>
                                    <?php } ?>
                                    <?php if ($on_off_fastorder && ($second_button == 'fastorder') && !(($product['quantity'] <= 0) and $on_off_fastorder_out_of_stok)){ ?>
                                    <button class="btn btn-addtocart " onclick="fastorder('<?php echo $product['product_id']; ?>')"  data-toggle="tooltip" title="<?php echo $fastorder_text; ?>">
                                        <i class="fa fa-bolt fa-fw"></i>
                                    </button>
                                    <?php } ?>
                                    <button type="button" class="btn btn-addtocart dropdown-toggle" data-toggle="dropdown">
                                        <i class="fa fa-angle-down caretalt"></i>
                                    </button>
                                    <ul class="dropdown-menu addtocart-additional">
                                        <?php if (!(($product['quantity'] <= 0) and $on_off_fastorder_out_of_stok) && !($second_button == 'fastorder') && $on_off_fastorder){ ?>
                                        <li><a onclick="fastorder('<?php echo $product['product_id']; ?>')"><i class="fa fa-bolt fa-fw"></i>&nbsp;&nbsp;<?php echo $fastorder_text; ?></a></li>
                                        <?php } ?>
                                        <?php if ($on_off_qview && !($second_button == 'qview')){ ?>
                                        <li><a onclick="qview('<?php echo $product['product_id']; ?>')"><i class="fa fa-eye fa-fw"></i>&nbsp;&nbsp;<?php echo $qview_text; ?></a></li>
                                        <?php } ?>
                                        <li><a onclick="wishlist.add('<?php echo $product['product_id']; ?>');return false;" title="<?php echo $button_wishlist; ?>"><i class="fa fa-heart-o fa-fw"></i>&nbsp;&nbsp;<?php echo $button_wishlist; ?></a></li>
                                        <li><a rel="nofollow" onclick="compare.add('<?php echo $product['product_id']; ?>');return false;" title="<?php echo $button_compare; ?>"><i class="fa fa-balance-scale fa-fw"></i>&nbsp;&nbsp;<?php echo $button_compare; ?></a></li>
                                    </ul>
                                </div>
              </div>
            </div>
                        <div class="clearfix"></div>
          </div>
        </div>
        <?php } ?>
      </div>

            <div class="row pagination-wrapper">
                <div class="col-sm-6 text-left"><?php echo $pagination; ?></div>
                <div class="col-sm-6 text-right"><?php echo $results; ?></div>
            </div>

      <?php } ?>
            <?php if (!$description_position) { ?>
            <?php if ($thumb || $description) { ?>
      <div class="сategory-description red-links">
        <?php if ($thumb) { ?>
        <div class="pull-left"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" title="<?php echo $heading_title; ?>" class="img-thumbnail" style="margin: 0 10px 5px 0" /></div>
        <?php } ?>
        <?php if ($description) { ?>
        <?php echo $description; ?>
        <?php } ?>
                <div class="clearfix"></div>
      </div>
      <?php } ?>
            <?php } ?>
      <?php if (!$categories && !$products) { ?>
      <p><?php echo $text_empty; ?></p>
      <div class="buttons">
        <div class="pull-right"><a href="<?php echo $continue; ?>" class="btn btn-primary"><?php echo $button_continue; ?></a></div>
      </div>
      <?php } ?>
     </div>
    <?php echo $column_right; ?></div>
        <?php echo $content_bottom; ?>
</div>
<script>
    function adddotdotdot($element) {
        $(".subcategory .name-wrapper").dotdotdot();
    }
    $(document).ready(adddotdotdot);
    $(window).resize(adddotdotdot);

    $(function(){
        $('#limit-button').find('.button-text').prepend($('#limit-button').find("b").text());
        $('#sort-button').find('.button-text').prepend($('#sort-button').find("b").text());
    });
</script>
<?php echo $footer; ?>
 

Наличие так и не появилось: https://accsnab.ru/opryskivanie/

Share this post


Link to post
Share on other sites

/catalog/controller/product/category.php

добавил после (229 строчка у меня)

'price'       => $price, 

код

 

Сделано?

 

Share this post


Link to post
Share on other sites
1 час назад, mister12 сказал:

Сделано?

да

Share this post


Link to post
Share on other sites

Кеш модификаторов обновлён?

Share this post


Link to post
Share on other sites
В 25.12.2017 в 10:02, mister12 сказав:

Для своей версии ocStore 2.3.0.2.3 решил задачу так (для вывода информации о наличии в категории):

/catalog/controller/product/category.php

добавил после (229 строчка у меня)

'price'       => $price, 

код

'stock_status' => $result['stock_status'],

И в шаблоне /catalog/view/theme/default/template/product/category.tpl

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

Получил нужный для себя результат. Выводит для каждого товара в категории либо "В наличии", либо "Предзаказ", либо "Ожидание 2-3 дня"

 

PS: Попробовал в модулях (Последние, Хиты продаж, Спецпредложения) - решается точно также :)

 

Этот вариант выводит статус из поля "Отсутствие на складе", а не фактический статус на складе.

Edited by alextmsxm

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By nickcoder
      Добрый вечер. Нужно вывести количество товара и его статус наличия/отсутствия на складе в карточках товара на главной.
      Прочитал, что можно найти stock_status_id, если покопаться тут  $this->config->get('config_stock_display') Т.е. в контроллере товара, я делал такой запрос, но проблема в том, выдает false. 
    • By noid
      Доброго времени суток. Ищу либо готовый модуль, либо разработчика для его написания. Краткий функционал (если будем делать - напишу спеки) :
       
      Планируется несколько магазинов (OC 3.0.2.0) под сеть. Но фактический склад один. Думаю с задачей справится модуль, который сможет после каждой смены статуса заказа на указанный в настройках модуля (пример - "сделка завершена") - синхронизировать остаток купленного товара с другими указанными в настройках модуля магазинами. То есть, количество товаров общее для всех магазинов в сети. Так же, если безопасность не пострадает, хотелось бы и синхронизировать настройки самого модуля с остальными в данной сети магазинов, но только при внесении изменений в настройки. Таким образом, управлять всеми модулями станет возможным из любой админки в цепочке магазинов, при чем в один шаг.
       
      Подробнее
       
      Вобщем хэлп
    • By T1ma
      Скачать/Купить дополнение


      Цвет наличия на складе(vQmod)
      Изменяет цвет наличия товара на складе в карточке товара.
      Если количество товара на складе больше 0, цвет подсветки текста и кружок зеленым цветом "Есть в наличии".
      Если количество товара на складе равно 0, цвет подсветки текста и кружок красным цветом "Нет в наличии".
      Работает на vQmod(скачать и установить) https://code.google.com/p/vqmod/downloads/list
      Скрипт установить в папку /vqmod/xml/
      Проверено на ocStore 1.5.5.1.2 и OpenCart 1.5.6.1
      Отблагодарить если Вам понравилось мое дополнение Webmoney R229658981951
      Добавил T1ma Добавлено 27.03.2014 Категория Модули  
    • By Rammstein91
      Скачать/Купить дополнение


      Индикаторы количества товаров [VQMod]
      Модуль «Индикаторы количества товаров [VQMod]» для OpenCart 1.5.1+
      Этот модуль заменяет стандартное текстовое поле Наличие на графическое отображение в карточке товара.
      Использует VQMod.
      УСТАНОВКА:
      1. Распаковать архив.
      2. Cодержимое папки «upload» скопировать в корень сайта.
      ДЕМО:
      Демо сайт: http://dothesite.ru/opencart-module/index.php?route=product/product&path=5&product_id=123
      ПОДДЕРЖКА:
      По общим вопросам - Андрей Лежнетев - http://dothesite.ru
      Добавил Rammstein91 Добавлено 08.04.2016 Категория Модули Системные требования vqmod Сайт разработчика http://dothesite.ru/ Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • By Rammstein91
      Модуль «Индикаторы количества товаров [VQMod]» для OpenCart 1.5.1+
      Этот модуль заменяет стандартное текстовое поле Наличие на графическое отображение в карточке товара.
      Использует VQMod.
      УСТАНОВКА:
      1. Распаковать архив.
      2. Cодержимое папки «upload» скопировать в корень сайта.
      ДЕМО:
      Демо сайт: http://dothesite.ru/opencart-module/index.php?route=product/product&path=5&product_id=123
      ПОДДЕРЖКА:
      По общим вопросам - Андрей Лежнетев - http://dothesite.ru
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.