Вход • Регистрация

Как вывести кол-во товаров в карточке товаров?

  • 15 марта 2019 г. , редакция: 15 марта 2019 г.
  • Как вывести кол-во товаров в карточке товаров. Думал что данная возможность реализована но посмотрев файл shop.view.id.php не чего похожего не увидел. В админке галочку поставил чтобы учитывались остатки товаров




    Код
    <?php
    /**
    * Шаблон страницы товара
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2017 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__; $i = 0;
    while(! file_exists($path.'/includes/404.php'))
    {
    if($i == 10) exit; $i++;
    $path = dirname($path);
    }
    include $path.'/includes/404.php';
    }

    echo '<div class="js_shop_id js_shop shop shop_id shop-item-container">';

    echo '<div class="bordershop">';
    echo '<div class="row align-items-center ">';
    echo '<div class="col-xl-6">';
    //вывод изображений товара
    if (!empty($result["img"]))
    {
    echo '<div class="fotorama_product">';
    echo '<div class="fotorama" data-fit="scaledown" data-allowfullscreen="true" data-nav="thumbs">';
    foreach ($result["img"] as $img)
    {
    echo '<img src="'.BASE_PATH.$img["link"].'" alt="'.$img["alt"].'" title="'.$img["title"].'" image_id="'.$img["id"].'" class="shop_id_img">';
    }
    echo '</div>';
    echo '<span class="shop-photo-labels">';
    if (!empty($result['hit']))
    {
    echo '<div><img src="'.BASE_PATH.Custom::path('img/label_hot_big.png').'"></div>';
    }
    if (!empty($result['action']))
    {
    echo '<div><img src="'.BASE_PATH.Custom::path('img/label_special_big.png').'"></div>';
    }
    if (!empty($result['new']))
    {
    echo '<div><img src="'.BASE_PATH.Custom::path('img/label_new_big.png').'"></div>';
    }
    echo '</span>';

    echo '</div>';
    }

    echo '</div>';
    echo '<div class="col-xl-6" style="text-align:center;">';
    if (!empty($result["article"]))

    //вывод артикула
    if (!empty($result["article"]))
    {
    echo '<h4 class="shop-item-artikul">'.$this->diafan->_('Артикул').': '.$result["article"].'</h4>';
    }

    //вывод производителя
    if (!empty($result["brand"]))
    {
    echo '<div class="shop_brand">';
    echo $this->diafan->_('Производитель').': ';
    echo '<a href="'.BASE_PATH_HREF.$result["brand"]["link"].'">'.$result["brand"]["name"].'</a>';
    echo '</div>';
    }

    //вывод рейтинга товара
    if (!empty($result["rating"]))
    {
    echo '<div class="shop-item-rate rate">'.$this->diafan->_('Рейтинг').": ";
    echo $result["rating"];
    echo '</div>';
    }

    //скидка на товар
    if (!empty($result["discount"]))
    {
    echo '<div class="shop_discount">'.$this->diafan->_('Скидка').': <span class="shop_discount_value">'.$result["discount"].' '.$result["discount_currency"].($result["discount_finish"] ? ' ('.$this->diafan->_('до').' '.$result["discount_finish"].')' : '').'</span></div>';
    }

    //кнопка "Купить"
    echo $this->get('buy_form', 'shop', array("row" => $result, "result" => $result));

    if(empty($result["hide_compare"]))
    {
    echo $this->get('compare_form', 'shop', $result);
    //echo $this->get('compared_goods_list', 'shop', array("site_id" => $result["site_id"], "shop_link" => $result['shop_link']));
    }

    // echo $this->htmleditor('<insert name="show_social_links">');

    echo '</div>';
    echo '</div></div>';
    echo '<div>';

    echo $this->htmleditor('<insert name="show_block_order_rel" module="shop" count="2" images="1">');

    echo '</div>';

    //счетчик просмотров
    if(! empty($result["counter"]))
    {
    echo '<div class="shop_counter">'.$this->diafan->_('Просмотров').': '.$result["counter"].'</div>';
    }

    //теги товара
    if (!empty($result["tags"]))
    {
    echo $result["tags"];
    }

    //полное описание товара
    echo '<div class="shop_text">'.$this->htmleditor($result['text']).'</div>';

    //характеристики товара
    if (!empty($result["param"]))
    {
    echo $this->get('param', 'shop', array("rows" => $result["param"], "id" => $result["id"]));
    }

    //комментарии к товару
    if (!empty($result["comments"]))
    {
    echo $result["comments"];
    }

    echo '</div>';

    //ссылки на предыдущий и последующий товар
    if (! empty($result["previous"]) || ! empty($result["next"]))
    {
    echo '<div class="previous_next_links">';
    if (! empty($result["previous"]))
    {
    echo '<div class="previous_link"><a href="'.BASE_PATH_HREF.$result["previous"]["link"].'">&larr; '.$result["previous"]["text"].'</a></div>';
    }
    if (! empty($result["next"]))
    {
    echo '<div class="next_link"><a href="'.BASE_PATH_HREF.$result["next"]["link"].'">'.$result["next"]["text"].' &rarr;</a></div>';
    }
    echo '</div>';
    }
    echo '<hr>';
    echo $this->htmleditor('<insert name="show_block_rel" module="shop" count="4" images="1">');
    • 15 марта 2019 г.
    • Вроде в buy_form есть проверка количества товаров
  • 16 марта 2019 г. , редакция: 16 марта 2019 г.
  • в shop.view.id.php вывесит
    Код
    $result['count_goods'] или $result['count']

    не очень понял в чем между ними разница
  • 16 марта 2019 г.
  • Спасибо что отозвались)
    вардампом проверил что лежит в массиве нашел. Сделал так
    Код
    //Количество товаров на складе
    if (!empty($result["count"]))
    {
    echo '<div class="shop_count">'.' На складе: '.$result["count"].'</div>';
    }
    • 16 марта 2019 г.
    • Цитата
      вардампом проверил


      Собственно когда хотите что-то вывести, всегда делайте print_r или vd для $result. Как правило оно там находится.
  • 19 марта 2019 г.
  • Код
    $product_counts = '%s товаров';
    if(substr($result["count"], -1) == 1 || substr($result["count"], -1) == 1 && substr($result["count"], -2, 1) != 1) {
    $product_counts = '%s товар';
    }
    elseif(substr($result["count"], -1) > 1 && substr($result["count"], -1) < 5 && substr($result["count"], -2, 1) != 1) {
    $product_counts = '%s товара';
    }


    Код
    if (!empty($result["count"])) {
    echo '<div class="shop_count">'.'На складе '.$this->diafan->_($product_counts, true, $result["count"]).'</div>';
    }


    example:
    На складе 20 товаров

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум