Magento 如果产品名称包含声明
Magento if product name contains statement
我设置了一个复杂的磁电机订单电子邮件,在客户结账时将预计交货日期发送给他们。但是对于特定的产品类别,我不想重复预计交货日期。
我想知道最好的方法...
我的第一个想法是从产品 ID 中获取类别 ID,然后做一个 if 语句来说明如果类别 = A 不显示代码,否则显示代码。
我试过用这个
$ordered_items = $_order->getAllItems();
Foreach($ordered_items as $item){
$itemId = $item->getItemId();
$itemsku = $item->getSku();
$catId = $item->getProduct()->getCategoryIds();
} ?>
但是当我尝试回显 $catId 时,这只是返回 "Array"。
我的另一个想法是获取产品名称,然后说如果名称包含('sometext'),执行。
1) 如何正确获取属于单个类别的产品的类别 ID。
2) 如何做一个 if 语句来表示 "if product name contains ('sometext')"
此致,弗兰克
产品可以属于多个类别,这就是您获取数组而不是单个 ID 的原因。您可以在代码后添加以下内容以检查您感兴趣的类别。请注意,如果您有相同类型的类别名称,那么检查 id 更明智。
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('name')
->addAttributeToSelect('url')
->addAttributeToFilter('entity_id', $catId)
->addIsActiveFilter();
foreach($categoryCollection as $cat){
if(strpos($cat->getName(), "your_sometext") !== false){
echo 'your category was in the product';
}
// or
if($cat->getId() == 100){
echo 'your category was in the product';
}
}
我设置了一个复杂的磁电机订单电子邮件,在客户结账时将预计交货日期发送给他们。但是对于特定的产品类别,我不想重复预计交货日期。
我想知道最好的方法...
我的第一个想法是从产品 ID 中获取类别 ID,然后做一个 if 语句来说明如果类别 = A 不显示代码,否则显示代码。
我试过用这个
$ordered_items = $_order->getAllItems();
Foreach($ordered_items as $item){
$itemId = $item->getItemId();
$itemsku = $item->getSku();
$catId = $item->getProduct()->getCategoryIds();
} ?>
但是当我尝试回显 $catId 时,这只是返回 "Array"。
我的另一个想法是获取产品名称,然后说如果名称包含('sometext'),执行。
1) 如何正确获取属于单个类别的产品的类别 ID。
2) 如何做一个 if 语句来表示 "if product name contains ('sometext')"
此致,弗兰克
产品可以属于多个类别,这就是您获取数组而不是单个 ID 的原因。您可以在代码后添加以下内容以检查您感兴趣的类别。请注意,如果您有相同类型的类别名称,那么检查 id 更明智。
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('name')
->addAttributeToSelect('url')
->addAttributeToFilter('entity_id', $catId)
->addIsActiveFilter();
foreach($categoryCollection as $cat){
if(strpos($cat->getName(), "your_sometext") !== false){
echo 'your category was in the product';
}
// or
if($cat->getId() == 100){
echo 'your category was in the product';
}
}