2014-02-12 165 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(); 
}