产品视图属性值在两个商店视图上不同
-
16-10-2019 - |
题
我有一个Magento网站,该网站使用if语句条件中的下拉列表(是/否)属性的值。我遇到的问题是基于一个商店的视图,我得到了“ 1”,另一个是'0'(其中'1'是在这种情况下的正确值)。
例如,我有此代码:
if($_product->getData("lookinsideactive") == 1):
if(Mage::app()->getStore()->getId() == 1):
echo "Store message 1";
elseif(Mage::app()->getStore()->getId() == 12):
echo "Store message 2";
endif;
endif;
当我转到存储ID 1时,消息不会出现,但是在商店ID 12中,消息“商店消息2”出现,因此第一个if语句条件为真。
如果我打印这些:
echo $_product->getData("lookinsideactive");
我在商店ID 1中获得“ 0”,并在商店ID 12中获得“ 1”。
我试过了:
echo $_product->getAttributeText('lookinsideactive');
商店ID 1显示“否”,并存储ID 12显示“是”。
另一件事是,这些条件在两家商店的其他产品上都很好地效果很好,只是该结果所显示的一种产品。
因此,总体而言,该产品的两个商店视图上的结果应为“ 1”,或者在两个商店视图上都应“ 0”。
我已经检查了使用此问题产品和另一个工作产品的属性集,它们都使用相同的属性集,具有相同的属性值“ LookInsIdeActive”。
我不确定我是否错过了一些简单的东西,但是需要一些有关可能的原因或一些建议来调试此建议的建议。
感谢任何帮助,谢谢。
解决方案
您可以为不同的属性具有不同的范围。您的属性具有显而易见的范围“商店视图”。替代品是:“商店”,“网站”和“全球”。
您可以使用脚本更改范围,但是在此更改之后,我认为您必须清理数据库,因为Magento在获取数据时会忽略范围。写它们时只有很重要。
您可以在后端进行检查,当您查看产品时,可以更改左上方的范围,在Selectbox旁边是信息[Store View]该属性的范围是什么。