Это достаточно легкая задача. У меня посложнее и никак не могу решить. По умолчанию товары, у которых stock=0 не показывают цену. Нашел такое решение в интернете. в переменной отвечающей за это поведение, которая используется в шаблонах products.tpl и product.tpl является $variants, в файле view.php я изменил стандартные параметры, когда в эту переменную записывались товары с наличием на складе.
Вот так было:
$variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true));
Вот так стало:
$variants = $this->variants->get_variants(array('product_id'=>$products_ids));
Все отлично заработало, кроме одного эта же переменная используется в шаблонах для отображения сообщения "В наличии" "Нет в наличии", поскольку теперь подсчет значений из этой переменной в шаблоне показывает значение больше нуля, то даже товар, которого нет, все равно висит.
Я решил в шаблоне использовать в этом условии с 93 строки шаблона product.tpl
<span>
{if $product->variants|count > 0}
На складе
{else}
Под заказ
{/if}
вместо
$product->variants
использовать
$product->variants->stock > 0
{$product->variants|@debug_print_var} показывает, что именно там и лежит мое кол-во товара. Но как не бьюсь не могу вывести значение из этого массива. И через foreach пробовал и вот так:
$product->variants->stock
[$product->variants('stock')]
и через
assign var="stock" value=$product->variants('stock')
$stock
ни один из способов не работает. Причем проблема именно с этой переменной $product
в этом месте если взять к примеру переменную $category, то с ней все в порядке, а тут всегда перестает работать страница товара после сохранения шаблона.
Кто сталкивался?
Спасибо.