如何整合cakephp和magento?

时间:2012-03-12 07:41:21

标签: cakephp magento

我正在尝试将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的单行代码。

2 个答案:

答案 0 :(得分:0)

如果错误仍然发生,则必须在其他地方定义。在项目范围内搜索define('DS' 并看看它的定义在哪里。

答案 1 :(得分:0)

在文件'../../../magento/app/Mage.php'中,您必须使用以下内容对该行(可能是27行)进行评论:

//define('DS', DIRECTORY_SEPARATOR);