假设\ AW \ Blog \ Model \ post.php中有一个函数,其中有一个函数。
public function PreNext($type){
$id = $this->_data['post_id'];
$blog = Mage::getResourceModel('blog/post_collection');
$blog->getSelect()->where('post_id>?',$id);
return $blog->getFirstItem();
}
为什么写$this->_data['post_id'];
我可以用另一个写它。
在magento中的函数中,四行是什么意思?非常感谢。
post.php
class AW_Blog_Model_Post extends Mage_Core_Model_Abstract{
const NOROUTE_PAGE_ID = 'no-route';
protected function _construct(){
$this->_init('blog/post');
}
public function load($id, $field=null){
return $post = parent::load($id, $field);
}
public function noRoutePage(){
$this->setData($this->load(self::NOROUTE_PAGE_ID, $this->getIdFieldName()));
return $this;
}
public function getShortContent(){
$content = $this->getData('short_content');
if(Mage::getStoreConfig(AW_Blog_Helper_Config::XML_BLOG_PARSE_CMS)){
$processor = Mage::getModel('core/email_template_filter');
$content = $processor->filter($content);
}
return $content;
}
public function getPostContent(){
$content = $this->getData('post_content');
if(Mage::getStoreConfig(AW_Blog_Helper_Config::XML_BLOG_PARSE_CMS)){
$processor = Mage::getModel('core/email_template_filter');
$content = $processor->filter($content);
}
return $content;
}
public function loadByIdentifier($v) {
return $this->load($v, 'identifier');
}
}
答案 0 :(得分:1)
这是自定义扩展程序的代码,因此只有拥有此扩展程序的人才能知道此post.php
文件包含的内容,以及您是否可以使用$this->_data['post_id']
之外的其他方式获取值。
如果扩展使用标准的Magento Getters / Setters,也许$this->getPostId()
也可能有用。
其余的加载了post_id
大于$this->_data['post_id']
的记录集合,但只返回找到的第一条记录。
您发布的课程
Mage_Core_Model_Abstract
反过来延伸
Varien_Object
在标准的Magento OOB中。
Varien_Object
类定义了我正在谈论的标准getter / setter,所以是的,你也可以使用$this->getPostId()
来获取值。
要了解这些getter / setter是如何工作的,我建议您查看Varien_Object
并阅读有关PHP magic methods的信息,例如__call()
,__get()
和{{1} }}