我需要添加重定向为30个网址在3个商店。为此,我创建了一个脚本,使用它我可以添加url,但脚本的问题是,如果请求路径已经存在,我必须删除条目并插入新条目。为此,我使用了下面的代码,它不会删除已经存在的条目(对于这个条目,is\u system=>1)。谁能帮我解决这个问题。
$rewrite_collection = Mage::getModel('core/url_rewrite')->getCollection();
$rewrite_collection->addFieldToFilter('request_path', array('eq' =>
$request_path));
$rewrite_collection->addFieldToFilter('store_id', array('eq' => 1));
$rewrite_collection_count = $rewrite_collection->count();
if($rewrite_collection_count < 0){
foreach ($rewrite_collection->getItems() as $rewrite){
$rewrite->delete();
}
}
Mage::getModel('core/url_rewrite')
->setStoreId(1)
->setIsSystem(0)
->setOptions('RP')
->setIdPath($id_path)
->setRequestPath($request_path)
->setTargetPath($target_path)
->save();
2条答案
按热度按时间pieyvz9o1#
以上代码,只检查计数是否小于零。
请将代码更改为
eufgjt7s2#
请允许我将一些ineteresting元素带到可接受的答案中,您将能够使用这些元素进行将来的所有删除/保存操作:
这允许您删除/保存您提供给要在一个sql事务中保存/删除的事务对象的所有对象,并在发生错误时回滚(如果在保存其中一个模型期间引发异常,则自动执行)。
另外,试着养成这样称呼你的收藏的习惯:
而不是:
少走几步。