0

我是 MVC 和 php 的新手。现在在 magento app/code/core/Mage/Review/Model/Review.php

我添加代码。

 public function mgtest(){
        return 'hello world!';
    }

在课堂里

class Mage_Review_Model_Review extends Mage_Core_Model_Abstract
{ }

在 magento cms 页面中,我添加代码:

 {{block type="core/template" name="review" template="catalog/product/reviewall.phtml"}}

url 键是review.html

然后添加文件 reviewall.phtml(app/design/frontend/default/mytheme/template/catalog/product/reviewall.phtml)

然后在其文件中添加测试代码。

<?php echo $this->mgtest();?>

当我访问网址时。mysiteurl/review.html. 没有 hello world 输出。为什么?谢谢你。如何纠正它?模型中的所有文件是做什么的?如果我想调用 phtml 文件的函数。我该怎么办?

4

1 回答 1

0

不要编辑核心来添加新功能。app/code/local在目录中添加所有添加/修改。

在您现有的代码中,我看到两个问题:

  • CMS页面中的块类型应该是review/review而不是core/template
  • 您已创建函数 as matest(),但将其称为mgtest()

$this已从您的 reviewall.phtml 中引用,调用matest方法是/应该驻留在Review_Block_Review而不是Core_Block_Template,因此您的 CMS 块类型必须是review/review.

我只是看到你matest在你的模型中放置了方法,请将它放在块中,因为你不能使用 $this 直接从模板文件中查看模型。

一旦您知道如何在 Magento 中完成工作,建议您创建自己的自定义模块(在本地目录中)。

于 2013-02-24T17:54:24.393 回答