如果Magento Upsell产品的类别和产品类别不同,则不可见

时间:2014-03-14 12:17:51

标签: magento collections product

您好我有以下类别

Camera
  - DSLR
  - Digital Camers

Accessories
 - Lenses
 - Memory cards

我已将product from lenses category作为加价添加到product from Digital cameras。但它没有显示在前端。

仅当我将dslr添加为镜片产品(Added as upsell to dslr product)的另一个类别时才可以查看。

有没有办法显示来自完全不同类别的追加产品?

3 个答案:

答案 0 :(得分:1)

交叉检查以下内容:

您要展示的产品是:  1.启用  2.在前端可见  3.有货  4.应该分配至少1类。  5.必须在同一网站上可见(如果是多个网站)。

然后刷新Magento缓存并重新检查前端。

答案 1 :(得分:1)

尝试将您要以高级版显示的产品添加到默认类别。这让我在最后一小时疯狂 - 试错,为我工作!

答案 2 :(得分:0)

我有同样的问题和解决方法,我已将我的产品添加到与我的追加销售产品相同的类别中。在我的情况下,我的产品不可见(它是谷歌搜索的目标),我只是改变了搜索的可见性。

Magento执行以下查询:

SELECT 1 AS `status`, `e`.`entity_id`, `e`.`type_id`, `e`.`attribute_set_id`, `price_index`.`price`, `price_index`.`tax_class_id`, `price_index`.`final_price`, IF(price_index.tier_price IS NOT NULL, LEAST(price_index.min_price, price_index.tier_price), price_index.min_price) AS `minimal_price`, `price_index`.`min_price`, `price_index`.`max_price`, `price_index`.`tier_price`, `e`.`name`, `e`.`short_description`, `e`.`price`, `e`.`special_price`, `e`.`special_from_date`, `e`.`special_to_date`, `e`.`small_image`, `e`.`thumbnail`, `e`.`news_from_date`, `e`.`news_to_date`, `e`.`url_key`, `e`.`required_options`, `e`.`image_label`, `e`.`small_image_label`, `e`.`thumbnail_label`, `e`.`msrp_enabled`, `e`.`msrp_display_actual_price_type`, `e`.`msrp`, `e`.`tax_class_id`, `e`.`price_type`, `e`.`weight_type`, `e`.`price_view`, `e`.`shipment_type`, `e`.`links_purchased_separately`, `e`.`links_exist`, `cat_index`.`position` AS `cat_index_position`, `links`.`link_id`, `link_attribute_position_int`.`value` AS `position` FROM `catalog_product_flat_1` AS `e`
 INNER JOIN `catalog_product_index_price` AS `price_index` ON price_index.entity_id = e.entity_id AND price_index.website_id = '1' AND price_index.customer_group_id = '1'
 INNER JOIN `catalog_category_product_index` AS `cat_index` ON cat_index.product_id=e.entity_id AND cat_index.store_id='1' AND cat_index.visibility IN(2, 4) AND cat_index.category_id = '2'
 INNER JOIN `catalog_product_link` AS `links` ON links.linked_product_id = e.entity_id AND links.link_type_id = 4
 LEFT JOIN `catalog_product_link_attribute_int` AS `link_attribute_position_int` ON link_attribute_position_int.link_id = links.link_id AND link_attribute_position_int.product_link_attribute_id = '4' 
WHERE (e.entity_id NOT IN((SELECT `sales_flat_quote_item`.`product_id` FROM `sales_flat_quote_item` WHERE (quote_id = '')))) AND (links.product_id = 678) AND (e.entity_id != '678') 
ORDER BY `position` ASC LIMIT 4

这里的类别是'2'(cat_index.category_id ='2')。

否则您必须修改Magento代码。