Перейти к содержанию
Форум поддержки пользователей VamShop

Как вывести в списке атрибутов только товары с stock > 0?


Рекомендуемые сообщения

Если кто-то разбирался, подскажите. В карточке товара выводятся ссылки на другие товары этой же группы, например, название атрибута "вес" - перечислены другие фасовки этого товара. Как вывести только те, у которых остатки больше нуля?

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 71
  • Created
  • Последний ответ

Top Posters In This Topic

  • domostoreru

    41

  • support

    31

Что за остатки?

 

На складе? Вроде такой зависимости нет, т.е. атрибутов от склада.

Может не понятно объяснил суть моей проблемы, попытаюсь на вашем примере с категорей "Умные часы". Там атрибут цвет, если, например, для товара коричневого цвета stock=0, можно ли его не выводить в списке атрибутов или выводить с пометкой "Временно нет на складе"?

Ссылка на сообщение
Поделиться на другие сайты

Нужно, чобы получилось как на картинке, если фасовки 2 кг нет на складе - выводим об этом сообщение

post-57061-0-02468500-1407511949_thumb.j

 

 

Ссылка на сообщение
Поделиться на другие сайты

Можно разве что в шаблон карточки товара в Админке - Оформление - Шаблоны добавить что-то вроде:

{if $stock <= '0'}Нет в наличии{/if}
Ссылка на сообщение
Поделиться на другие сайты

 

Можно разве что в шаблон карточки товара в Админке - Оформление - Шаблоны добавить что-то вроде:

{if $stock <= '0'}Нет в наличии{/if}

А в function.attribute_list.php нельзя как нибудь проверку stock приспособить, как в function.compared.php? В function.compared.php используется $element_list[$k_a]['attributes_product'][$k_p]['stock']    = $product['ContentProduct']['stock'];

Как бы что-нибудь подобное здесь придумать?

Ссылка на сообщение
Поделиться на другие сайты

Вроде нет, там же всё тянется из таблиц с атрибутами.

А нельзя из таблицы продуктов взять, как в function.compared.php, где и stock используется и данные из атрибутов. Это можно сделать, просто для меня (непрограммиста) сложновато, может кто возьмется за плату?

Ссылка на сообщение
Поделиться на другие сайты

Тем более, что в function.attribute_list.php content_id используется, идентификатор продукта, по которому для программиста вывести из таблицы продуктов значение stock не очень проблемно. Короче, программист нужен.

Ссылка на сообщение
Поделиться на другие сайты

По опыту работы с магазином точно говорю, что эта штука очень полезная, если не сказать необходимая. Клиента лучше сразу предупреждать, что товара нет. А то после нескольких кликов по отсутствующим в наличии товарам - покинет сайт привередливое существо - покупатель.

Ссылка на сообщение
Поделиться на другие сайты

Мы выбрали вамшоп2 именно из-за вариантов товаров (которые мало в каких движках сегодня есть), только допилить бы слегка. Может кто возьмется из умных людей?

Ссылка на сообщение
Поделиться на другие сайты

Вообще товар выводится через /app/Vendor/smarty/vam_plugins/function.content_listing.php 

Может просто там условие добавить, что б выводились только товары на складе.

 

Если б прислали ссылку на магазин со списком товара, доступ на ftp.

 

В принципе, добавить условие, что б не показывать товары, которых на складе 0 или меньше, не сложно.

 

Но это вроде как не связано с атрибутами, хотя может и связано.

Ссылка на сообщение
Поделиться на другие сайты

Наш магазин domostore.ru пока работает на старом вамшопе, на вамшоп2 отлаживаю сейчас на локальной машине. А товары с нулевым остатком пусть выводятся, они же поисковиками проиндексированы, их нельзя убирать. Единственное, что отключить корзину у них надо - это я уже сделал с помощью этого форума. И в атрибутах сделать предупреждение, что товара временно нет, или вообще не выводить в списках атрибутов.

А то засада. Вот в вашем примере с "умными часами", выводим, например, список атрибутов: "черный", "коричневый", "оранжевый". Человек кликает оранжевый - недоступен для заказа, кликает черный тоже недоступен... прощай потерянный клиент. Вот я и говорю - или вообще не выводить в атрибутах, или предупреждать, что "нет в наличии" - прямо рядом с атрибутом.

Ссылка на сообщение
Поделиться на другие сайты

Попробую глянуть, может получится туда выташить количество на складе.

 

Но вообще конечно атрибуты не связаны со складом.

Ссылка на сообщение
Поделиться на другие сайты

Вообще, мне так видится, что Вы не с той стороны заходите, какой смысл показывать текст нет в наличии, правильнее ведь будет просто запретить оформлять заказ на такой товар, т.е. убрать кнопку купить.

 

К примеру, можно кнопку купить обернуть условием, т.е. в шаблоне карточки товара что-то типа:

                   {if $stock <= '0'}
<div class="inner nobottom product-cart">
{product_form}
<label>{lang}Qty{/lang}:</label>
<input name="product_quantity" id="product_quantity" type="text" value="1" size="3" />
<button type="submit" class="btn btn-inverse"><i class="fa fa-shopping-cart"></i> {lang}Add to cart{/lang}</button>
{/product_form}
</div>
                  {else} Нет в наличии {/if}

Тогда кнопки купить не будет при выборе атрибута, которого нет на складе.

Атрибуты - это ведь по сути товары, сгруппированные просто.

 

Да и не будет проблем с индексацией, товар ведь выводится как и обычно, просто кнопки купить нет.

Ссылка на сообщение
Поделиться на другие сайты

Вообще, мне так видится, что Вы не с той стороны заходите, какой смысл показывать текст нет в наличии, правильнее ведь будет просто запретить оформлять заказ на такой товар, т.е. убрать кнопку купить.

 

К примеру, можно кнопку купить обернуть условием, т.е. в шаблоне карточки товара что-то типа:

                   {if $stock <= '0'}
<div class="inner nobottom product-cart">
{product_form}
<label>{lang}Qty{/lang}:</label>
<input name="product_quantity" id="product_quantity" type="text" value="1" size="3" />
<button type="submit" class="btn btn-inverse"><i class="fa fa-shopping-cart"></i> {lang}Add to cart{/lang}</button>
{/product_form}
</div>
                  {else} Нет в наличии {/if}

Тогда кнопки купить не будет при выборе атрибута, которого нет на складе.

Атрибуты - это ведь по сути товары, сгруппированные просто.

 

Да и не будет проблем с индексацией, товар ведь выводится как и обычно, просто кнопки купить нет.

 

Кнопку-то "купить" я убрал (спасибо этому форуму). А по поводу "...выбора атрибута, которого нет на складе" я и говорю, чтобы не раздражать клиента, или надо не давать ему возможность выбирать этот атрибут (убирать из списка), или предупреждать надписью рядом с атрибутом. Чтобы клиенту было все понятно и не нервно (а то куда ни кликни того у них нет, и того нет). Человек же в магазин не почитать приходит, а кликает по ссылке на товар, чтобы заказать его. Представьте, его настроение после трех-пяти выборов товаров, которые заказать невозможно. Вы бы как поступили, вот и я бы подумал, нафиг мне такой магазин. Как-то так.

Ссылка на сообщение
Поделиться на другие сайты

Вот исправленный /app/Model/Content.php

и /app/Vendor/smarty/vam_plugins/function.attribute_list.php

 

Посе того как файлы перепишите к себе, почистите кэш в Админке - Настройки - Магазин, внизу кнопка Сбросить кэш.

 

Новый код можно найти по слову stock

Content.php

function.attribute_list.php

Ссылка на сообщение
Поделиться на другие сайты

Отлично, сейчас попробую. А по поводу современных движков для магазинов, я вам так скажу - варианты товаров и адаптивность (с планшетов все больше народу заходит) - сильное место вамшоп2. Отлифуете все связанное с атрибутами, переедете на бутстрап3 - цены движку не будет. Поверьте мне, я с этими зверьками сильно поразбирался и лицензий понакупался, начиная от сырой еще Могуты, кончая монструозным Битриксом последней модели. А к вамшопу за пару лет работы особых претензий не было. А вамшоп2, если допилить, вообще вещь полезная... я так думаю

Ссылка на сообщение
Поделиться на другие сайты

Так и пилится постоянно, и будет пилиться, это ж постоянный процесс, постоянно будут добавляться новые функциональные возможности, исправляться ошибки.

 

Самое главное, что код современный, используется CakePHP Framework, небо и земля по сравнению со старым кодом, вот даже в примере с Вашим вопросом.

 

Всё решилось буквально парой строк кода благодаря гибкой архитектуре.

Ссылка на сообщение
Поделиться на другие сайты

Александр, еще раз спасибо огромное, варианты товара отображаются, как нужно. Еще вопрос: а сложно сделать, чтобы варианты выводились и в категории, под "главным" товаром? Как на первой картинке.

В идеале, хотелось бы, с ценой и кнопкой "купить" (как на картинке 2), т.е. сейчас "неглавные" товары вообще не отображаются. Задать бы условие {if} товар неглавный - вывод: цена, кнопка "купить" если stock>0.

Заранее благодарен за ответ.

 

post-57061-0-67239300-1407554123_thumb.j

 

post-57061-0-19465400-1407554124_thumb.j

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...