domostoreru 0 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Если кто-то разбирался, подскажите. В карточке товара выводятся ссылки на другие товары этой же группы, например, название атрибута "вес" - перечислены другие фасовки этого товара. Как вывести только те, у которых остатки больше нуля? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Что за остатки? На складе? Вроде такой зависимости нет, т.е. атрибутов от склада. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Что за остатки? На складе? Вроде такой зависимости нет, т.е. атрибутов от склада. Может не понятно объяснил суть моей проблемы, попытаюсь на вашем примере с категорей "Умные часы". Там атрибут цвет, если, например, для товара коричневого цвета stock=0, можно ли его не выводить в списке атрибутов или выводить с пометкой "Временно нет на складе"? Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Нужно, чобы получилось как на картинке, если фасовки 2 кг нет на складе - выводим об этом сообщение Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Можно разве что в шаблон карточки товара в Админке - Оформление - Шаблоны добавить что-то вроде: {if $stock <= '0'}Нет в наличии{/if} Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Можно разве что в шаблон карточки товара в Админке - Оформление - Шаблоны добавить что-то вроде: {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']; Как бы что-нибудь подобное здесь придумать? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Вроде нет, там же всё тянется из таблиц с атрибутами. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Вроде нет, там же всё тянется из таблиц с атрибутами. А нельзя из таблицы продуктов взять, как в function.compared.php, где и stock используется и данные из атрибутов. Это можно сделать, просто для меня (непрограммиста) сложновато, может кто возьмется за плату? Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Тем более, что в function.attribute_list.php content_id используется, идентификатор продукта, по которому для программиста вывести из таблицы продуктов значение stock не очень проблемно. Короче, программист нужен. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Ну да, программист нужен что б дописать код. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 По опыту работы с магазином точно говорю, что эта штука очень полезная, если не сказать необходимая. Клиента лучше сразу предупреждать, что товара нет. А то после нескольких кликов по отсутствующим в наличии товарам - покинет сайт привередливое существо - покупатель. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Мы выбрали вамшоп2 именно из-за вариантов товаров (которые мало в каких движках сегодня есть), только допилить бы слегка. Может кто возьмется из умных людей? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Вообще товар выводится через /app/Vendor/smarty/vam_plugins/function.content_listing.php Может просто там условие добавить, что б выводились только товары на складе. Если б прислали ссылку на магазин со списком товара, доступ на ftp. В принципе, добавить условие, что б не показывать товары, которых на складе 0 или меньше, не сложно. Но это вроде как не связано с атрибутами, хотя может и связано. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Наш магазин domostore.ru пока работает на старом вамшопе, на вамшоп2 отлаживаю сейчас на локальной машине. А товары с нулевым остатком пусть выводятся, они же поисковиками проиндексированы, их нельзя убирать. Единственное, что отключить корзину у них надо - это я уже сделал с помощью этого форума. И в атрибутах сделать предупреждение, что товара временно нет, или вообще не выводить в списках атрибутов. А то засада. Вот в вашем примере с "умными часами", выводим, например, список атрибутов: "черный", "коричневый", "оранжевый". Человек кликает оранжевый - недоступен для заказа, кликает черный тоже недоступен... прощай потерянный клиент. Вот я и говорю - или вообще не выводить в атрибутах, или предупреждать, что "нет в наличии" - прямо рядом с атрибутом. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Попробую глянуть, может получится туда выташить количество на складе. Но вообще конечно атрибуты не связаны со складом. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Вообще, мне так видится, что Вы не с той стороны заходите, какой смысл показывать текст нет в наличии, правильнее ведь будет просто запретить оформлять заказ на такой товар, т.е. убрать кнопку купить. К примеру, можно кнопку купить обернуть условием, т.е. в шаблоне карточки товара что-то типа: {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} Тогда кнопки купить не будет при выборе атрибута, которого нет на складе. Атрибуты - это ведь по сути товары, сгруппированные просто. Да и не будет проблем с индексацией, товар ведь выводится как и обычно, просто кнопки купить нет. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Вообще, мне так видится, что Вы не с той стороны заходите, какой смысл показывать текст нет в наличии, правильнее ведь будет просто запретить оформлять заказ на такой товар, т.е. убрать кнопку купить. К примеру, можно кнопку купить обернуть условием, т.е. в шаблоне карточки товара что-то типа: {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} Тогда кнопки купить не будет при выборе атрибута, которого нет на складе. Атрибуты - это ведь по сути товары, сгруппированные просто. Да и не будет проблем с индексацией, товар ведь выводится как и обычно, просто кнопки купить нет. Кнопку-то "купить" я убрал (спасибо этому форуму). А по поводу "...выбора атрибута, которого нет на складе" я и говорю, чтобы не раздражать клиента, или надо не давать ему возможность выбирать этот атрибут (убирать из списка), или предупреждать надписью рядом с атрибутом. Чтобы клиенту было все понятно и не нервно (а то куда ни кликни того у них нет, и того нет). Человек же в магазин не почитать приходит, а кликает по ссылке на товар, чтобы заказать его. Представьте, его настроение после трех-пяти выборов товаров, которые заказать невозможно. Вы бы как поступили, вот и я бы подумал, нафиг мне такой магазин. Как-то так. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Вроде придумал как вывести, оказывается для этого даже всё есть. Сейчас напишу. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Вот исправленный /app/Model/Content.php и /app/Vendor/smarty/vam_plugins/function.attribute_list.php Посе того как файлы перепишите к себе, почистите кэш в Админке - Настройки - Магазин, внизу кнопка Сбросить кэш. Новый код можно найти по слову stock Content.php function.attribute_list.php Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Отлично, сейчас попробую. А по поводу современных движков для магазинов, я вам так скажу - варианты товаров и адаптивность (с планшетов все больше народу заходит) - сильное место вамшоп2. Отлифуете все связанное с атрибутами, переедете на бутстрап3 - цены движку не будет. Поверьте мне, я с этими зверьками сильно поразбирался и лицензий понакупался, начиная от сырой еще Могуты, кончая монструозным Битриксом последней модели. А к вамшопу за пару лет работы особых претензий не было. А вамшоп2, если допилить, вообще вещь полезная... я так думаю Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Так и пилится постоянно, и будет пилиться, это ж постоянный процесс, постоянно будут добавляться новые функциональные возможности, исправляться ошибки. Самое главное, что код современный, используется CakePHP Framework, небо и земля по сравнению со старым кодом, вот даже в примере с Вашим вопросом. Всё решилось буквально парой строк кода благодаря гибкой архитектуре. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 ОК, пойду дальше магазин чинить Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 августа, 2014 Жалоба Share Опубликовано 8 августа, 2014 Хорошо. Если что, пишите. Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 8 августа, 2014 Автор Жалоба Share Опубликовано 8 августа, 2014 Александр, спасибо большое теперь отображается, как положено. Классно! Ссылка на сообщение Поделиться на другие сайты
domostoreru 0 Опубликовано 9 августа, 2014 Автор Жалоба Share Опубликовано 9 августа, 2014 Александр, еще раз спасибо огромное, варианты товара отображаются, как нужно. Еще вопрос: а сложно сделать, чтобы варианты выводились и в категории, под "главным" товаром? Как на первой картинке. В идеале, хотелось бы, с ценой и кнопкой "купить" (как на картинке 2), т.е. сейчас "неглавные" товары вообще не отображаются. Задать бы условие {if} товар неглавный - вывод: цена, кнопка "купить" если stock>0. Заранее благодарен за ответ. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения