Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Сайт на DIAFAN.CMS Интеграция дизайна Как вывести кол-во товаров в карточке товаров?


Вадим (Vadim007) 15 марта, пятница, редакция 15 марта, пятница

Как вывести кол-во товаров в карточке товаров. Думал что данная возможность реализована но посмотрев файл 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">');

Привет (romaromk) 6015 марта, пятница

Вроде в buy_form есть проверка количества товаров

Dmitry (weissfl) 13616 марта, суббота, редакция 16 марта, суббота

в shop.view.id.php вывесит
Код
$result['count_goods'] или $result['count']

не очень понял в чем между ними разница

Вадим (Vadim007) 16 марта, суббота

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

Андрей (R4W) 7516 марта, суббота

вардампом проверил


Собственно когда хотите что-то вывести, всегда делайте print_r или vd для $result. Как правило оно там находится.

Привет (romaromk) 60Вчера, 20:23

Код
$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 товаров