Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Qty tier-price в списке товаров
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Здравствуйте!

Вопрос про tier-price. Мне нужно в списке товаров выводить не просто строку “Начиная с XX руб.” (как по умолчнаию в Magento), а строку “За N шт. XX руб.” Т.е. взять максимальное число в штуках из tier-price и соотвественно минимальную цену. Проблема в том, что в списке товаров метод $_product->getTierPrice() возвращает массив с минимальной ценой из tier-price для товара, но qty=1. Причем, при просмотре товара $_product->getTierPrice() возвращает массив со всеми qty и ценами.
Я сильно вглубь не залазил, но похоже метод работает с таблицей catalog_product_index_tier_price (в ней как раз минимальная цена, но без qty).

Как-нибудь можно по-простому получить в списке товаров нужные мне qty для цены ?

Спасибо.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Grohotun
Sr. Member
 
Avatar
Total Posts:  141
Joined:  2011-03-31
Saint-Petersburg
 

Выводите сортированный массив в ценами.
+ можно просто написать скрипт, который при изменении кол-ва добавляемого товара автоматом будет подставлять другую цену.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 
Grohotun - 04 October 2013 12:16 AM

Выводите сортированный массив в ценами.
+ можно просто написать скрипт, который при изменении кол-ва добавляемого товара автоматом будет подставлять другую цену.

скрипт написать не проблема.. Вопрос в том, как сформировать массив (если родной метод getTierPrice() не возвращает qty)

 
Magento Community Magento Community
Magento Community
Magento Community
 
Grohotun
Sr. Member
 
Avatar
Total Posts:  141
Joined:  2011-03-31
Saint-Petersburg
 

$_tierPrices $this->getTierPrices();
foreach (
$_tierPrices as $_price)
{
echo $_price['price_qty'];
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Grohotun, а вы сами проверяли ?

Magento CE 1.7.0.2
файл template/catalog/product/list.phtml
если прописать этот код то получим
Fatal error: Call to a member function getFormatedTierPrice() on a non-object

Вот мой кусок из list.phtml:

foreach ($_productCollection as $_product): {
$temp = $_product->getTierPrice();

вот тут $temp массив {’price’=>XXX, ‘proce_qty’=>1} размерностью один

 
Magento Community Magento Community
Magento Community
Magento Community
 
Grohotun
Sr. Member
 
Avatar
Total Posts:  141
Joined:  2011-03-31
Saint-Petersburg
 

Да, конечно проверял.
Код с рабочих магазинов.
Просто у вас скорей всего функция не добавлена в модель Product_List
Загрузите продукт и посмотрите.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Вы имеете ввиду getTierPrices() ? Подскажите, как ее добавить в модель.
Спасибо.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Я пробежал отладчиком по Mage\\Catalog\\Model\\Resource\\Product\\Collection.php из list.phtml
Да действительно тут используется таблица catalog_product_index_tier_price а в ней нет qty
(метод _productLimitationPrice())
Отсюда вывод, что в 1.7.0.2 без модификации нельзя получить в списке qty для tier_price :(

У меня есть идея, как сделать. Просто хотел уточнить, может это уже делали до меня

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Вернее берет из catalog_product_index_price

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

В общем, криво, но сделал:
добавил поле qty в индексные таблицы (catalog_product_index_price, catalog_product_index_tier_price и т.д.), модифицировал в local Indexer и повесил обсервер на два ивента catalog_product_save_after и after_reindex_process_catalog_product_price.

Теперь появилась возможность в списке товаров выводить для какого кол-ва указанная tier-цена

Плохо, что родной такой возможности нет :(

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top