2014-02-12 77 views
1

目前我已经得到了包括在产品名称与SKU店,现在我想从产品名称中删除,但我应该怎么办呢?Magento的产品:从产品名称中删除SKU

我发现这些查询的列出产品名称和SKU,但我怎么可以使用TRIM(REPLACE(PRODUCT_NAME,SKU,“”))这些?或者有没有比在phpmyadmin中运行mysql查询更好的方法?

SELECT `value` AS product_name 
FROM catalog_product_entity_varchar 
WHERE entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product') 
AND attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'name' AND entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product')) 

SELECT `sku` FROM `catalog_product_entity` 

谢谢

回答

1

尝试这种根据店铺ID过滤看到它,更换与商店your_store_id店铺ID,你想

<?php 

require_once dirname(__FILE__) . '/app/Mage.php'; 
Mage::app(); 

$products = Mage::getModel('catalog/product')->getCollection()->->addAttributeToFilter('store_id',"your_store_id") 
       ->addAttributeToSelect(array('name', 'sku')); 

foreach ($products as $product) { 

echo "old name".$product->getName(); 
    $product->setName(str_replace($product->getSku(), '', $product->getName()))->save(); 
echo "new name".$product->getName(); 
} 
+0

它改为:[代码] setCurrentStore(2); $产品=法师:: getModel( '目录/产品') - > getCollection() - > addAttributeToSelect(阵列( '名称', 'SKU')); $ i = 1; (产品为$ product){ echo'


'; echo“$ i old name:”。$ product-> getName()。'
'; $ product-> setName(trim(str_replace($ product-> getSku(),'',$ product-> getName()))) - > save(); echo'New:'.str_replace($ product-> getSku(),'',$ product-> getName())。'
'; $ i ++; } [/ code] – user1717483

0

我想也许你可以写你的服务器做一些PHP代码,首先获取所有的产品集合,然后对每个产品,获得产品名称,将SKU替换为'',然后设置产品名称并保存。

1
<?php 

require_once dirname(__FILE__) . '/app/Mage.php'; 
Mage::app(); 

$products = Mage::getModel('catalog/product')->getCollection() 
       ->addAttributeToSelect(array('name', 'sku')); 

foreach ($products as $product) { 
    $product->setName(str_replace($product->getSku(), '', $product->getName()))->save(); 
} 

将其保存在您的public_html文件夹中并通过访问该网址运行它。如果它成功运行,页面应完成加载并为空。如果您的目录非常大,则可能需要一点点。

+0

谢谢!那正是我在寻找的。也感谢Rohit Goel。你认为什么是学习Magento开发的最佳方式? – user1717483

+0

对不起,另一个问题,我安装了2种语言(2商店意见)我应该如何处理这个脚本? – user1717483

1

,你也可以通过在循环priniting新旧名称

<?php 

require_once dirname(__FILE__) . '/app/Mage.php'; 
Mage::app(); 

$products = Mage::getModel('catalog/product')->getCollection() 
       ->addAttributeToSelect(array('name', 'sku')); 

foreach ($products as $product) { 

echo "old name".$product->getName(); 
    $product->setName(str_replace($product->getSku(), '', $product->getName()))->save(); 
echo "new name".$product->getName(); 
}