【问题标题】:How to integrate cakephp and magento?如何整合 cakephp 和 magento?
【发布时间】:2012-03-12 07:41:21
【问题描述】:

我正在尝试将 magento 与我的 cakephp 应用程序集成。 我已经插入了这段代码,

<?php 

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

 umask(0);
Mage::app('default');
$productId = 5;
$product = Mage::getModel('catalog/product')->load($productId);
echo "Name: ".$product->getName()."<br />";
echo "Type: ".$product->getStockItem()->getTypeId()."<br />";
echo "Price: ".$product->getFinalPrice()."<br />";
echo "Quantity available: ".(int)$product->getStockItem()->getQty()."<br />";
?>

我们已经在 ctp 文件中插入了这段代码 并尝试运行代码,并收到此错误:

 Constant DS already defined [C:\wamp\www\magento\app\Mage.php, line 27]
 Fatal error: Cannot redeclare __() (previously declared in C:\wamp\www\vendorweb\lib\Cake\basics.php:501) in C:\wamp\www\magento\app\code\core\Mage\Core\functions.php on line 96

我已经改变了 Mage.php 之类的,

  if(!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);

}

但另一个错误仍然发生。

那么谁能告诉我怎么做? 我可以同时在 cakehp 和 magento 中运行函数 __() 吗?因为按照我的要求,不能更改magento的单行代码。

【问题讨论】:

    标签: cakephp magento


    【解决方案1】:

    如果错误仍然发生,它也必须在其他地方定义。在项目范围内搜索define('DS' 看看还有什么地方定义的。

    【讨论】:

    • 是的,它在 index.php 中,但这不是解决方案,我使用上面的代码会出错,但会出现“致命错误:无法重新声明 __()”。并没有完成整合。那么在 cakephp 中显示来自 magento 的产品的解决方案是什么?
    【解决方案2】:

    在文件'../../../magento/app/Mage.php' 中,您必须注释该行,可能是第 27 行,内容如下:

    //define('DS', DIRECTORY_SEPARATOR);

    【讨论】:

      猜你喜欢
      • 2016-07-22
      • 2011-04-30
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 2014-07-26
      • 2013-05-04
      相关资源
      最近更新 更多