1 Отредактировано Денис (10.11.2015 17:30:53)

Тема: Проблема с функцией $product->getCost() для многомерных комплектаций

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

Имею товар со включенными многомерными комплектациями, где у комплектаций разнятся цены

http://22.groupvm.z8.ru/getCost/getCost1.png

Но в списке скрытых инпутов с данными по комплектациям на странице товара получаю одинаковую цену для всех комплектаций.

http://22.groupvm.z8.ru/getCost/getCost2.png

Куда указывает нижняя стрелка - точно на 200 рублей больше должна быть цена.

Скрытые инпуты вывожу как в теме fashion:

{if $product->isOffersUse()}
    {foreach from=$product.offers.items key=key item=offer name=offers}
        <input value="{$key}" type="hidden" name="hidden_offers" class="hidden_offers" {if $smarty.foreach.offers.first}checked{/if} id="offer_{$key}" data-info='{$offer->getPropertiesJson()}' {if $check_quantity}data-num="{$offer.num}"{/if} {if $catalog_config.use_offer_unit}data-unit="{$offer->getUnit()->stitle}"{/if} data-change-cost='{ ".offerBarcode": "{$offer.barcode|default:$product.barcode}", ".myCost": "{$product->getCost(null, $key)}", ".lastPrice": "{$product->getCost('Зачеркнутая цена', $key)}"}' data-images='{$offer->getPhotosJson()}' data-sticks='{$offer->getStickJson()}'/>
    {/foreach}
    <input type="hidden" name="offer" value="0"/>
    <div class="testcost">{$product->getCost(null, 23)}</div>
{/if}

Пробовал вручную выводить цены (div.testcost в коде выше) по комплектациям запросом smarty вида {$product->getCost(null, N)}, где N - номер комплектации, все равно цена не меняется.

Подскажите пожалуйста, может быть я что-то не так делаю, почему не меняется цена?

Повысить оценку Понизить оценку

2 Отредактировано Александр (10.11.2015 18:33:58)

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Попробуйте данный товар выгрузить в CSV, а именно комплектации и посмотрите у него сортировочный индекс. Возможно он у Всех одинаковый - чего быть не должно.
Или выведите у комплектации поле sortn

3

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Вывел поле sortn каждой комплектации товара http://22.groupvm.z8.ru/product/model-0444/
Вроде разные значения...

Вот выгрузка комплектаций: http://22.groupvm.z8.ru/getCost/offers.csv
Вот товаров: http://22.groupvm.z8.ru/getCost/products.csv

Повысить оценку Понизить оценку

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Вроде бы всё норм. Напишите в support@readyscript.ru и скиньте туда доступы к админке и к FTP.

5

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Хорошо, спасибо.

Повысить оценку Понизить оценку

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Сейчас ещё раз посмотрел более внимательно CSV с комплектациями и заметил, что у Вас стоит =+0(RUB) везде.
Т.е. всё верно. Поэтому у Вас показывается одинаковая цена. Я смотрел по артикулу. По всей видимости, если в админке показывает одно, а в CSV другое. То возможно нужно пересохранить комплектации, либо моё предположение, что у Вас дубли в таблице с комплектациями, как вариант. Попробуйте пересохранить комплектации.

7 Отредактировано Денис (10.11.2015 20:01:07)

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Я пересохранил - не помогло.
Это вообще странно, потому что вывод {$product.offers.items|@print_r} выдает

                               
    [23] =&gt; Catalog\Model\Orm\Offer Object
        (
            [first_sortn] =&gt; 0
            [_values:protected] =&gt; Array
                (
                    [id] =&gt; 1225
                    [site_id] =&gt; 1
                    [product_id] =&gt; 2
                    [title] =&gt; Воротник, Серый, 64
                    [barcode] =&gt; a000002-23
                    [pricedata] =&gt; a:2:{s:8:"oneprice";a:4:{s:3:"use";s:1:"1";s:4:"znak";s:1:"+";s:14:"original_value";s:3:"200";s:4:"unit";s:1:"1";}s:5:"price";a:2:{i:1;a:3:{s:4:"znak";s:1:"+";s:14:"original_value";s:0:"";s:4:"unit";s:1:"1";}i:2;a:3:{s:4:"znak";s:1:"+";s:14:"original_value";s:0:"";s:4:"unit";s:1:"1";}}}
                    [propsdata] =&gt; a:3:{s:6:"Мех";s:16:"Воротник";s:8:"Цвет";s:10:"Серый";s:12:"Размер";s:2:"64";}
                    [num] =&gt; 2
                    [photos] =&gt; a:2:{i:0;s:2:"21";i:1;s:2:"23";}
                    [sortn] =&gt; 23
                    [unit] =&gt; 0
                    [processed] =&gt; 
                    [xml_id] =&gt; 
                    [photos_arr] =&gt; Array
                        (
                            [0] =&gt; 21
                            [1] =&gt; 23
                        )

                    [pricedata_arr] =&gt; Array
                        (
                            [oneprice] =&gt; Array
                                (
                                    [use] =&gt; 1
                                    [znak] =&gt; +
                                    [original_value] =&gt; 200
                                    [unit] =&gt; 1
                                )

                            [price] =&gt; Array
                                (
                                    [1] =&gt; Array
                                        (
                                            [znak] =&gt; +
                                            [original_value] =&gt; 
                                            [unit] =&gt; 1
                                        )

                                    [2] =&gt; Array
                                        (
                                            [znak] =&gt; +
                                            [original_value] =&gt; 
                                            [unit] =&gt; 1
                                        )

                                )

                        )

                    [propsdata_arr] =&gt; Array
                        (
                            [Мех] =&gt; Воротник
                            [Цвет] =&gt; Серый
                            [Размер] =&gt; 64
                        )

                    [stock_num] =&gt; Array
                        (
                            [1] =&gt; 2
                        )

                    [sticks] =&gt; Array
                        (
                            [1] =&gt; 2
                        )

                )

            [_self_class:protected] =&gt; Catalog\Model\Orm\Offer
            [_local_id:protected] =&gt; 200
        )

   
                                                            

как видите oneprice показывает, а price (массив где 2 цены) пустой

UPD: Хотя это я не туда полез).
В любом случае в объекте данные по ценам есть, а в csv где должно быть 200 вместо 0 - пусто

Повысить оценку Понизить оценку

8 Отредактировано Денис (10.11.2015 20:12:46)

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Вот таблица offers: http://22.groupvm.z8.ru/getCost/ajll_product_offer.csv

Меня первая строка смущает.

Повысить оценку Понизить оценку

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Оффтоп:
Для вашей темы у нас появился недавно bootstrap конструктор - http://readyscript.ru/text-blog/podderz … adyscript/

10 Отредактировано Денис (10.11.2015 20:17:26)

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Re Оффтоп:
Я видел, спасибо, но тут уже сверстано почти все. В следующий раз попробую.

Посмотрите пожалуйста на первую строку таблицы какая то она странная.

Повысить оценку Понизить оценку

11

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Я удалил все комплектации у товара, а в таблице они остались

Повысить оценку Понизить оценку

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

Денис пишет:

Re Оффтоп:
Я видел, спасибо, но тут уже сверстано почти все. В следующий раз попробую.

Посмотрите пожалуйста на первую строку таблицы какая то она странная.

Первая строка в порядке. Поддержка разберётся.

13

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

У меня та же проблема,либо очень похожа

Повысить оценку Понизить оценку

Re: Проблема с функцией $product->getCost() для многомерных комплектаций

У меня та же проблема,либо очень похожа

Мы выпустили обновление. Обновитесь до последней версии и потом, установите заново цены комплектациям. Если не поможет. Напишите в поддержку.