0

\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.内の関数で、4行が意味するものは何ですか? どうもありがとう。

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');
    }
}
4

1 に答える 1

1

これはカスタム拡張機能のコードであるため、この拡張機能を持っている人だけが、このpost.phpファイルに何が含まれているか、および 以外の方法で値を取得できるかどうかを知ることができます$this->_data['post_id']

拡張機能が標準の Magento ゲッター/セッターを使用している場合は、おそらく$this->getPostId()動作する可能性もあります。

残りは、post_idより大きいレコードのコレクションをロードします$this->_data['post_id']が、見つかった最初のレコードのみを返します。

アップデート

投稿したクラスが拡張されます

Mage_Core_Model_Abstract

それは次に拡張します

Varien_Object

標準の Magento OOB で。

Varien_Objectクラスは、私が話していた標準のゲッター/セッターを定義するので、値を取得するために使用することもできます$this->getPostId()

これらのゲッター/セッターがどのように機能するかを理解するには、、、 などのPHPのマジック メソッドVarien_Objectを確認して読むことをお勧めします。__call()__get()__set()

于 2012-09-05T07:18:33.350 に答える