2015-06-16 78 views
2

我有一个Magento网店,里面有几种产品。所有这些字产品用循环替换产品名称

例如

PRODUCT 001. 

我想“条”一词取代“产品”开始。

我试图写一个小脚本,但它根本不工作。以下是我到目前为止有:

<?php 
$_productCollection=$this->getLoadedProductCollection(); 
$_helper = $this->helper('catalog/output'); 
foreach($_productCollection as $_product) 
{ 
    $name = $_product->getName(); 
    $new = str_replace("PRODUCT","Article", $name); 
    $_product->setName($new); 
    $_product->save(); 
}; 
?> 

我真的不知道该如何运行脚本,所以我说这为CMS页面,打开一看:

{{block type="core/template" template="script.phtml"}}

什么它错了吗?

回答

2

你的Magento根文件夹里面 创建一个文件Replacename.php并在该文件编写下面的代码,然后用它执行下面的网址http://www.yourdomain.com/Replacename.php

<?php 
require_once('app/Mage.php'); 
umask(0); 
Mage::app(); 
$_productCollection = Mage::getModel('catalog/product') 
       ->getCollection()->addAttributeToSelect('*'); 
foreach($_productCollection as $_product) 
{ 
    try 
    { 
     $name = $_product->getName(); 
     $new = str_replace("PRODUCT","Article", $name); 
     $_product->setName($new); 
     $_product->save(); 
    } 
    catch(Exception $e){ 
      echo $e->getMessage(); 
    } 
} 
+0

它的工作!非常感谢你! – Toby

+0

很高兴帮助你:)请高兴的答案 –

+0

我没有足够的声望upvote,我会尽快做到这一点,我可以:)。另一件事,函数str_replace()只允许替换“整个单词”。是否可以改变单个字母? – Toby