Доступ к "Дополнительным параметрам". Как?

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

Каждому товару в настройках можно добавить произвольные "Дополнительные параметры". На странице товара доступ к этим параметрам реализуется как: $product.params.название_параметра.

То есть, если в файле product.cart.html написать:

{if $product.params.local_delivery_cost}

<div>Доставка курьером по Москве - {$product.params.local_delivery_cost} руб.</div>

{else}

<div>...</div>

{/if}

Такая конструкция работает.


Было решено написать простой плагин, чтобы при обновлении темы не лезть заново в файл product.cart.html

В основном классе плагина shopDeliverycostPlugin я написал следующей код:

class shopDeliverycostPlugin extends shopPlugin {
public function frontendProduct($product){

$data = array( 'cart' => '<div>Доставка курьером по Москве - {$product.params.local_delivery_cost} руб.</div>', );

return $data;

}
}

Понятное дело, что это не работает, выводится строка {$product.params.local_delivery_cost} целиком.

Подскажите, как обратиться к дополнительным параметрам в основном классе плагина?

Заранее спасибо

7 ответов

  • 2

    Не пользуйтесь кодом SMARTY в PHP файлах (во всяком случае, не так в лоб - без waView). Должно быть, хотя бы так:

    class shopDeliverycostPlugin extends shopPlugin {
        public function frontendProduct($product){
            $data = array( 'cart' => '<div>Доставка курьером по Москве - '.$product['params']['local_delivery_cost'].' руб.</div>', );
            return $data;
        }
    }

    • +1

      Спасибо за решение

      Всё работает



      • +1

        А подскажите, как можно вызвать $product['params']['local_delivery_cost'] в корзине товара? Очень было бы здорово в способах доставки выводить не фиксированную стоимость, а local_delivery_cost

        И суммировать ее с ценой продукта

        Понимаю, что вопрос не совсем корректный. 

        В общем, идея такая, сделать в стандартном способе доставки от вебасиста flatrate (фиксированная стоимость), чтобы в корзине выводилось не число, заданное в настройках, а $product['params']['local_delivery_cost']

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите