Перейти к содержимому


Фотография
- - - - -

Название товара после добавления в "Список товаров в корзине"


Лучший Ответ SmetDenis , 20 February 2013 - 06:04

Новый столбец нужно добавить в шаблоне корзины
/media/zoo/applications/jbuniversal/templates/catalog/renderer/basket/_default.php

И в шаблоне списка заказанных товаров
/media/zoo/applications/jbuniversal/elements/jbbasketitems/tmpl/jbbasketitems.php

В обоих случаях перебирается массив объектов материалов и доступна переменная $item.
Чтобы отрисовать данные определенного поля нужно сделать примерно так

$item->getElement('<ID ЭЛЕМЕНТА>')->render();
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 13

#11 Sliapy

Sliapy

Отправлено 20 February 2013 - 11:10

Поделились бы, как реализовали - вдруг кому-то еще понадобится.
  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#12 Vital

Vital

Отправлено 20 February 2013 - 12:09

Поделились бы, как реализовали - вдруг кому-то еще понадобится.

Легко! ;)
в файле /media/zoo/applications/jbuniversal/elements/jbbasketitems/tmpl/jbbasketitems.php добавляем столбец
<th><?php echo JText::_('Размер');?></th>
и строку
echo '<td>' . $basketInfo['quantity'] . '</td>';
И в шаблоне списка заказанных товаров
/media/zoo/applications/jbuniversal/elements/jbbasketitems/tmpl/jbbasketitems.php тоже самое

/media/zoo/applications/jbuniversal/elements/jbprice/jbprice.php :
    public function ajaxAddToCart($quantity = 1, $priceIndex = 0, $itemSize = '')     <---- И вот тут немного дописываем
    {
        if ($this->_isInStock()) {
            $price = $this->_getPriceByIndex((int)$priceIndex);

            $params = array(
                'priceIndex' => (int)$priceIndex,
                'quantity'   => (int)$quantity,
		'itemSize'   => $itemSize,                                   <----- Добавляем вот это
                'price'      => isset($price['value']) ? $price['value'] : '',
                'priceDesc'  => isset($price['description']) ? $price['description'] : '',
                'itemId'     => $this->getItem()->id,
                'currency'   => $this->_getCurrency(),
                'sku'        => ($this->get('sku') ? $this->get('sku') : $this->getItem()->id),
            );

            $this->app->jbcart->addItem($this->getItem(), $params);
        }

        $this->app->jbajax->send(array('basketUrl' => $this->_getBasketUrl()));
    }
/media/zoo/applications/jbuniversal/elements/jbprice/tmpl/modal.php :
            $('.jsCartModal .jsAddToCartButton').click(function () {

                var ajaxUrl = "<?php echo $addToCartUrl;?>";
                var requestParams = {
                    "args":{
                        'quantity':parseInt($('.jsQuantity').val(), 10),
                        'indexPrice':parseInt(jQuery('.jsPriceIndex:checked').val(), 10),
			'itemSize' : jQuery('.jsItemSize:checked').val()                   <--------дописываем вот это
                    }
                };
дальше в этом же файле добавляем :
<?php
	echo '<strong>' . JText::_('Выберите размер:') . '</strong>';
	
    echo '<div class="row">';

		$tmpItem = $this->getItem()->getElement('0905b01a-4a0f-48d9-8041-d3d5aacdd0c4')->data();   <----- Это ID элемента с размерами
		echo '<div class="price-row">';
		foreach ($tmpItem['option'] as $item => $key) {
			echo '<label><input name="index" class="jsItemSize" type="radio" value="'. strtoupper($key) .'"' . ($key == 0 ? 'checked = "checked"' : '') . '/>';
			echo '<span class="price-value">'. strtoupper($key) .'</span></label>';
		
		};
		echo '</div>';
	echo '<div class="clear"></div>';
	echo '</div>';
?>		
Немного топорно, но работает!
  • 1

#13 Sliapy

Sliapy

Отправлено 20 February 2013 - 15:50

Спасибо.
  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#14 SmetDenis

SmetDenis

Отправлено 21 February 2013 - 05:52

Спасибо, будет полезно.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!