【问题标题】:Magento 1.9 save product, does not show up on frontendMagento 1.9 保存产品,不显示在前端
【发布时间】:2017-03-14 05:34:04
【问题描述】:

我在 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 运行它后,我仍然看不到前端的产品。如果我用后端保存产品,我会看到它,这是为什么呢?

【问题讨论】:

    标签: php shell magento ssh


    【解决方案1】:

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

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

    正确的复制方式是:

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

    编辑的正确方法是:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2019-09-22
      • 2014-11-09
      相关资源
      最近更新 更多