Magento 1.9保存产品,不会出现在前端

时间:2017-03-10 18:27:18

标签: php shell magento ssh

我在Magento的前端看到产品时遇到了问题。

我创建了一个脚本save.php

<?php
set_time_limit(0);

// require magento core
require_once 'app/Mage.php';

// execute on admin store
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

$products = Mage::getModel('catalog/product')->getCollection();
foreach($products as $product) {
    echo $product->getName() . '<br/>';
    // save the product
    $product->save();
}

echo 'DONE';
?>

在我使用php -f /var/www/shell/save.php运行后,我仍然没有在前端看到该产品。如果我用后端保存产品,我会看到它,为什么会这样?

1 个答案:

答案 0 :(得分:0)

请澄清您的问题: 如果您只是想看到产品名称和最终完成的回声,可能需要将权限设置为644或者脚本不在magento root中。

如果那不是你的问题: 您当前的代码是保存您的数据库中已有记录的对象,而不更改任何要保存的数据..

复制的正确方法是:

$newProduct = clone $product;
$newProduct->setData('sku','wowaNewSkuString');
$newProduct->save();

正确编辑的正确方法是:

$product->setData('sku','wowaNewSkuString');
$product->save();

当然,Magento总是在主要更改/编辑后刷新缓存和重新索引,以确保您的平面表(如果已启用)是最新的。