Jump to content

как в корзине к описанию товара добавить производителя?


Recommended Posts

$subj вместо фотки товара? print_r показывает, что есть только id_manufacturer, а нужно название.

Подскажите плиз каком файле формируется $product который в шаблоне shopping-cart-product-line.tpl

Edited by szamriy (see edit history)
Link to comment
Share on other sites

Для любой ситуации, вы можете просто вывести доступные значения для переменной через print_r к примеру.

 

1. {$abc|var_dump}
2. {$abc|@print_r}
3. {$abc|@debug_print_var}

 

Потом использовать нужное значение для подстановки.

Например с переменной product:

{$product|var_dump}
{$product|@print_r}
{$product|@debug_print_var}

 

Выводить лучше в блоке, например с классом warning, тогда будет отделяться от кода и выделяться на фоне.

<span class="warning">
{$product|@print_r}
</span>

 

Пример со страницы товара product.tpl, к примеру:

<div class="warning">Product Object
(
[tax_name] => deprecated
[tax_rate] => 0
[id_manufacturer] => 0
[id_supplier] => 1
[id_category_default] => 53
[id_shop_default] => 1
[manufacturer_name] =>

[.. пропуск ..]

[description] =>
[description_short] =>
[quantity] => 10
[minimal_quantity] => 1
[fieldsRequired:protected] => Array
	(
		[0] => price
	)
[fieldsSize:protected] => Array
	(
		[reference] => 32
		[supplier_reference] => 32
		[location] => 64
		[ean13] => 13
		[upc] => 12
	)

[.. пропуск ..]

)
1</div>

 

В итоге мы можем выдергивать различные значения, не только производителя.

Edited by Andrey I. Egorov (see edit history)
Link to comment
Share on other sites

в shopping-cart-product-line.tpl {$product|@print_r} показывает наличие только цифрового айди производителя, названия к сожалению нет :( а мне нужно именно название и именно в корзине покупателя, в других местах я уже все поправил

 

 

$product.manufacturer_name

нет такого :( Edited by szamriy (see edit history)
Link to comment
Share on other sites

..нет такого..

 

смотрите что доступно через product, есть ли там упоминание производителя, если да, то через производителя как переменную, выводите наименование

Link to comment
Share on other sites

смотрите что доступно через product, есть ли там упоминание производителя, если да, то через производителя как переменную, выводите наименование

а если нет? где формируется продукт, который в корзине светится? как его найти, чтоб добавить?
Link to comment
Share on other sites

ajax-cart.js в базу за данными не лазит, он работает с уже сформированной страницей.

 

Мне нужно найти место, где формируется список, который фигурирует в файле shopping-cart-product-line.tpl под именем $product

 

там есть $product.id_manufacturer, а мне нужно $product.manufacturer_name

Edited by szamriy (see edit history)
Link to comment
Share on other sites

Что значит нету такого? У меня выводится производитель в корзине через $product.manufacturer_name и все работает! В файле shopping-cart-product-line.tpl прописано у меня это. Преста 1.4.

 

В Cart.php где идет getProducts() надо дописать:

 

LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (m.`id_manufacturer` = p.`id_manufacturer`)

 

И после еще в select: m.`name` as manufacturer_name

 

 

Edited by Kerm (see edit history)
Link to comment
Share on other sites

у меня PrestaShop™ 1.5.4.1, вставляю {$product|@print_r} и на выдохе получаю следующее:

Array
(
   [id_product_attribute] => 0
   [id_product] => 119
   [cart_quantity] => 1
   [id_shop] => 1
   [name] => ABDECKHAUBE STANDFAHRZEUGE
   [is_virtual] => 0
   [description_short] =>
   [available_now] =>
   [available_later] =>
   [id_category_default] => 2
   [id_supplier] => 0
   [id_manufacturer] => 3
   [on_sale] => 0
   [ecotax] => 0.000000
   [additional_shipping_cost] => 0.00
   [available_for_order] => 1
   [price] => 81.15
   [weight] => 1.610000
   [quantity_available] => -34
   [width] => 0.000000
   [height] => 0.000000
   [depth] => 0.000000
   [out_of_stock] => 2
   [active] => 1
   [date_add] => 2013-05-31 13:39:02
   [date_upd] => 0000-00-00 00:00:00
   [quantity] => 1
   [link_rewrite] => abdeckhaube-standfahrzeuge
   [category] => home
   [unique_id] => 11900
   [id_address_delivery] => 0
   [wholesale_price] => 0.000000
   [advanced_stock_management] => 0
   [supplier_reference] =>
   [customization_quantity] =>
   [id_customization] =>
   [price_attribute] =>
   [ecotax_attr] =>
   [reference] => 83190005958
   [weight_attribute] =>
   [ean13] =>
   [upc] =>
   [pai_id_image] =>
   [pai_legend] =>
   [minimal_quantity] => 1
   [stock_quantity] => -34
   [price_wt] => 95.76
   [total_wt] => 95.76
   [total] => 81.15
   [reduction_applies] =>
   [quantity_discount_applies] =>
   [id_image] => ru-default
   [allow_oosp] => 1
   [features] => Array
    (
    )
   [rate] => 18
   [tax_name] => НДС RU 18%
   [price_without_specific_price] => 95.76
   [is_discounted] =>
)
1

Link to comment
Share on other sites

Ну ты глянь в cart.php что я написал, скорее всего у тебя там это есть...и отредактируй как я написал.

  • Like 1
Link to comment
Share on other sites

просто $manufacturer или $manufacturers что вам выдаст?

и тот и тот выдает "1", типа отработал, но переменная пустая

 

 

classes/Cart.php похоже это оно :) но там sql слегка отличается, от версии 1.4, но уже известно что и где копать, спасибо

Link to comment
Share on other sites

и тот и тот выдает "1", типа отработал, но переменная пустая

 

 

classes/Cart.php похоже это оно :) но там sql слегка отличается, от версии 1.4, но уже известно что и где копать, спасибо

как это 1.

должен отдавать данные. print_r делал?

Link to comment
Share on other sites

как это 1.

должен отдавать данные. print_r делал?

{$manufacturer|@print_r}

вот это и выдает единицу, в принципе все правильно, она означает, что команда отработала без ошибок, а ниче не вывела ибо выводить нечего

Link to comment
Share on other sites

выводит и данные (пусто, просто их нет) и код возврата (1 в данном случае) как разберусь полностью с вопросом, отпишусь :)

Link to comment
Share on other sites

отписываюсь как и обещал:

в classes/Cart.php нужно внести след изменения:

424 строка

  $sql->select('cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, pl.`name`, p.`is_virtual`,
  pl.`description_short`, pl.`available_now`, pl.`available_later`, p.`id_product`, product_shop.`id_category_default`, p.`id_supplier`,
  p.`id_manufacturer`, m.`name` AS manufacturer_name, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`, product_shop.`available_for_order`, product_shop.`price`, p.`weight`,
  stock.`quantity` quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, product_shop.`active`, p.`date_add`,
  p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category,
  CONCAT(cp.`id_product`, IFNULL(cp.`id_product_attribute`, 0), IFNULL(cp.`id_address_delivery`, 0)) AS unique_id, cp.id_address_delivery,
  product_shop.`wholesale_price`, product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference');

 

453 строка (добавить):

  $sql->leftJoin('manufacturer', 'm', 'm.`id_manufacturer` = p.`id_manufacturer`');

 

459 строка (добавить):

  $sql->where('m.`id_manufacturer` = p.`id_manufacturer`');

 

 

теперь можно использовать $product.manufacturer_name в shopping-cart-product-line.tpl и

$product["manufacturer_name"] в mail/order_conf.html

 

 

спасибо всем за помощь :)

  • Like 2
Link to comment
Share on other sites

×
×
  • Create New...