Изменение цены после выбора комбинации

Автор max143, 17 мая 2014, 18:01:58

« назад - далее »

max143

Была задача вывести комбинации в списке товаров, сделал это, исправив CategoryController.php и product-list.tpl, написал свой js скрипт для изменения цены при выборе комбинации, это всё работает, но проблема в том, что при добавлении товара в корзину, цена добавляется старая без влияния комбинации. Помогите пожалуйста, как это можно исправить? Какой скрипт и откуда берёт цену для добавления в корзину?

tigran

product.js
В нем функции, которые менют цены, картинки, при выборе разных атрибутов

mAgency

Для показа аттрибутов на странице категоии (список товаров), нужно изменить products-list.tpl и CategoryController.php,
В файле CategoryController.php добавить новую функцию
public function getProductAttributeCombinations($products) {
    $combinations = array();

    foreach($products as $product)
    {
        // load product object
        $product = new Product ($product['id_product'], $this->context->language->id);

        // get the product combinations data
        // create array combinations with key = id_product
        $combinations[$product->id] = $product->getAttributeCombinations($this->context->language->id);
    }

    return $combinations;
}

и изменить
public function initContent()
{
    parent::initContent();
    $products = $this->category->getProducts($this->context->language->id, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay);
    $combinations = $this->getProductAttributeCombinations($products);
    $this->context->smarty->assign('combinations', $combinations);
}

В файле products-list.tpl добавить вывод аттрибутов
{foreach from=$combinations key=k item=comb}
    {if $k = $product.id_product}
        <p class="comb_title">{$comb.group_name}</p>
        <select>
        {foreach from=$comb item=attr}
            <option value="{$attr.id_attribute}">{$attr.attribute_name} {l s=': +'} {convertPrice price=$attr.unit_price_impact}</option>
        {/foreach}
        </select>
    {/if}
{/foreach}

Больше ничего делать не нужно, должно работать.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

mAgency

Добавление товара в корзину - ajax-cart.js
$('.ajax_add_to_cart_button').unbind('click').click(function()
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

max143

Спасибо вам за ответы, но я это всё сделал, и цена не связывается с комбинациями, пробовал простыми функциями js влиять на цену, но в корзину всё равно добавляется стандартная цена без влияния.