我是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"}}
网址密钥为 review.html
然后添加文件reviewall.phtml(app / design / frontend / default / mytheme / template / catalog / product / reviewall.phtml)
然后在其文件中添加测试代码。
<?php echo $this->mgtest();?>
当我访问网址时mysiteurl/review.html
。没有hello world输出。为什么?谢谢。怎么纠正呢?模型中的所有文件都做了什么?如果我想调用phtml文件的功能。我该怎么办?
答案 0 :(得分:0)
不要编辑核心以添加新功能。在app/code/local
目录中添加所有添加/修改。
在您现有的代码中,我看到两个问题:
review/review
而不是core/template
。matest()
,但将其称为mgtest()
您已经在reviewall.phtml中引用了$this
,并调用了matest
方法,该方法应该位于Review_Block_Review
而不是Core_Block_Template
,因此您的CMS块类型必须是review/review
。
我只是看到您在模型中放置了matest
方法,请将其放入Block中,因为您无法使用$ this直接从模板文件中查看模型。
一旦你知道如何在Magento中完成任务,建议你创建自己的自定义模块(在本地目录中)。