Есть множество моментов, по которым пользователи определяют, что они попали в солидный интернет-магазин. Одним из них является наличие опции “товар на складе”. Посетитель сайта должен видеть, что у вас есть На складе. Подобная “прозрачность” позволяет покупателю правильно оформить заказ и заодно укрепляет доверие к вашему ресурсу.

Как проще всего показать, что тот или иной товар есть или Под заказ?Мы можем отобразить на карточке товара надписи “На складе” или “Под заказ”.

Это можно сделать любым из двух способов:
Первый — ручная настройка;
Второй — автоматическая настройка.
Собственноручно настраивать поля, конечно, легче. Однако в некоторых случаях вы можете не успеть поменять метки.

При автоматизации процесса эту задачу возьмет на себя программа. Вам останется только фиксировать остатки товара и отмечать время поступления новой продукции на склад.

В разделе “Статус” вы можете отметить, сколько экземпляров определенного товара есть в вашем магазине.

stock1
Чтобы скрипт показывал наличие товара, нужно активировать опцию “Отображать уровень запаса” (см. вкладку “Внешний вид”).

В итоге разделы категорий в вашем магазине будут выглядеть примерно так:

stock3

Чтобы убрать всё лишнее и поставить зеленую метку “На складе” нужно отредактировать файл default.php, который находится по адресу components\com_virtuemart\views\category\tmpl

Замените код:

<div class="paddingtop8">
        <span class="vmicon vm2-<?php echo $product->stock->stock_level ?>" title="<?php echo $product->stock->stock_tip ?>"></span>
    <span class="stock-level"><?php echo JText::_ ('COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_TITLE_TIP') ?></span>
</div>

на

<div class="paddingtop8">
       <span><?php echo $product->stock->stock_tip ?></span>
</div>

В файле language\ru-RU\ru-RU.com_virtuemart.ini нужно изменить

COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_OUT_TIP=&quot;К сожалению, в настоящее время у нас нет данного товара&quot;

на

COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_OUT_TIP=&quot;Под заказ&quot;

и

COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_NORMAL_TIP=&quot;У нас достаточный запас данного товара&quot;

на

COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_NORMAL_TIP=&quot;На складе&quot;

Вот что у вас должно получиться:

stock4

Следующий шаг позволит нам вывести метку “На складе” в карточке товара. Для этого нужно найти файл default.php, находящийся по пути components\com_virtuemart\views\productdetails\tmpl и заменить в нем код:

<?php
        // Availability
        $stockhandle = VmConfig::get('stockhandle', 'none');
        $product_available_date = substr($this->product->product_available_date,0,10);
        $current_date = date("Y-m-d");
        if (($this->product->product_in_stock - $this->product->product_ordered) < 1) {
            if ($product_available_date != '0000-00-00' and $current_date < $product_available_date) {
            ?>   <div class="availability">
                    <?php echo JText::_('COM_VIRTUEMART_PRODUCT_AVAILABLE_DATE') .': '. JHTML::_('date', $this->product->product_available_date, JText::_('DATE_FORMAT_LC4')); ?>
                </div>
            <?php
            } else if ($stockhandle == 'risetime' and VmConfig::get('rised_availability') and empty($this->product->product_availability)) {
            ?>   <div class="availability">
                <?php echo (file_exists(JPATH_BASE . DS . VmConfig::get('assets_general_path') . 'images/availability/' . VmConfig::get('rised_availability'))) ? JHTML::image(JURI::root() . VmConfig::get('assets_general_path') . 'images/availability/' . VmConfig::get('rised_availability', '7d.gif'), VmConfig::get('rised_availability', '7d.gif'), array('class' => 'availability')) : JText::_(VmConfig::get('rised_availability')); ?>
            </div>
            <?php
            } else if (!empty($this->product->product_availability)) {
            ?>
            <div class="availability">
            <?php echo (file_exists(JPATH_BASE . DS . VmConfig::get('assets_general_path') . 'images/availability/' . $this->product->product_availability)) ? JHTML::image(JURI::root() . VmConfig::get('assets_general_path') . 'images/availability/' . $this->product->product_availability, $this->product->product_availability, array('class' => 'availability')) : JText::_($this->product->product_availability); ?>
            </div>
            <?php
            }
        }
        else if ($product_available_date != '0000-00-00' and $current_date < $product_available_date) {
        ?>   <div class="availability">
                <?php echo JText::_('COM_VIRTUEMART_PRODUCT_AVAILABLE_DATE') .': '. JHTML::_('date', $this->product->product_available_date, JText::_('DATE_FORMAT_LC4')); ?>
            </div>
        <?php
        }
        ?>

на

<?php
        // Availability
        $stockhandle = VmConfig::get('stockhandle', 'none');
        $product_available_date = substr($this->product->product_available_date,0,10);
        $current_date = date("Y-m-d");
        if (($this->product->product_in_stock - $this->product->product_ordered) < 1) {
 
        echo '<div class="availability">Нет в наличии</div>';
 
        }
        else {
        ?>   <div class="availability">
                <?php echo 'В наличии'; ?>
            </div>
        <?php
        }
        ?>

В итоге пользователь всегда будет осведомлен о наличии определенного товара (эта надпись появится сразу под кнопкой “Добавить в корзину”).

stock5
Чтобы покупатель знал, сколько единиц товара осталось на складе, нужно отредактировать файл default.php, находящийся по адресу components\com_virtuemart\views\category\tmpl. После строки

<span><?php echo $product->stock->stock_tip ?></span>

нужно вставить

 

<?php if (($product->product_in_stock - $product->product_ordered) > 1) {
    echo '('.$product->product_in_stock.')';
    }
?>

И вот, что у вас получится:

stock6
И последний штрих при оформлении карточки товара. Найдите файл components\com_virtuemart\views\productdetails\tmpl\default.php и поменяйте в нем строку

<?php echo 'На складе'; ?>

на

<?php echo 'На складе'.'('.$this->product->product_in_stock.')'; ?>

Так будет выглядеть правильно оформленная карточка:

stock7

P.S.

Может показаться, что подобные мелочи типа надписей “На складе” на карточках товара даже не заслуживают внимания. Тем не менее, исследования доказывают, что зачастую именно от таких деталей зависит успешная работа интернет-магазина.

У вас есть собственное мнение на этот счет? Поделитесь им в комментариях к этой статье!

Оставить ответ