Prestashop 1.7.5 Как получить базовую цену товара с комбинациями - PullRequest
0 голосов
/ 05 февраля 2019

Я ищу умную переменную, которая отображает базовую цену для продукта, имеющего комбинации.Эти комбинации могут или не могут повлиять на базовую цену.Мне удалось найти переменную $combinations, которая содержит массив комбинаций, который содержит цену «влияние на цену», но по какой-то причине в окне отладки я не могу найти базовую / корневую цену до того, как комбинация влияет на цену.

Кто-нибудь знает, обслуживается ли эта переменная по умолчанию, и если нет, то как бы я мог добавить ее?

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Может быть, это поможет: используйте метод getPriceStatic.Итак, в /controllers/ProductController.php под строками 231 и 234

$productPrice = $this->product->getPrice(true, null, 6);
    $productPricet = $this->product->getPriceStatic($this->product->id, false, null, 2, null, false, false, 1, false, null, null, null, $this->specificPrice);

и в строке ~ 365 назначьте его массиву

 $this->context->smarty->assign(array(
                'priceDisplay' => $priceDisplay,
                'productPriceWithoutReduction' => $productPriceWithoutReduction,
                'customizationFields' => $customization_fields,
                'id_customization' => empty($customization_datas) ? null : $customization_datas[0]['id_customization'],
                'accessories' => $accessories,
                'product' => $product_for_template,
                'displayUnitPrice' => (!empty($this->product->unity) && $this->product->unit_price_ratio > 0.000000) ? true : false,
                'product_manufacturer' => $productManufacturer,
                'manufacturer_image_url' => $manufacturerImageUrl,
                'product_brand_url' => $productBrandUrl,
                'productPricet' => $productPricet,

            ));

, а затем в файле .tpl в вашемtheme

{$productPricet}

Редактировать: протестировано, не очень хорошо работает - вы получаете точно так же, как в обходном пути ниже ... - извините.Простой обходной путь - использовать отформатированный {$ productPriceWithoutReduction} в файле tpl -> отобразит базовую цену атрибута и не изменится во время изменения атрибута.

0 голосов
/ 06 февраля 2019

Попробуйте:

$prod = new Product($id_product);
echo $prod->price;

С уважением

...