0

私は 1 つのニュース モジュールを作成しました。それは正常に動作しています..

http://domain.com/magento/news

このページはすべてのニュース項目を表示しています。タイトル、内容、日付。

ユーザーが [もっと見る] リンクをクリックすると、コンテンツの [もっと見る] リンクを作成して、ユーザーを特定のニュースサイト ページにリダイレクトする

http://domain.com/magento/news/newsitem-1

次のコードで別のコントローラーnewsitemController.phpを作成しました:

  public function infoAction(){

$this->loadLayout();
$this->getLayout()->getBlock('content')
     ->append($this->getLayout()->createBlock('news/newsitem')  );
$this->renderLayout();
}

また、以下のコードでブロック名 info.php を作成しました。

public function _prepareLayout()
    {
        return parent::_prepareLayout();
    }

    public function getnewsitem()    
    { 
        if(!$this->hasData('news')) {
            $this->setData('news', Mage::registry('news'));
        }
        return $this->getData('news');
    }

出力が得られない..

出力を得るには助けが必要です。

4

1 に答える 1

0

info.phpに次の関数追加して、ニュース項目の URL を取得します。

public function getItemUrl($newsItem)
{
    return $this->getUrl('*/*/view', array('id' => $newsItem->getId()));
}

コントローラーに次の関数を追加して、ニュースの詳細ページを表示します。

 public function viewAction()
  {
       $model = Mage::getModel('magentostudy_news/news');
       $model->load($newsId);
       $this->loadLayout();
       $itemBlock = $this->getLayout()->getBlock('news.info');
       $this->renderLayout();

  }

これを行うことで、このリンクを添付した情報ページに簡単にアクセスできます。

 foreach ($this->getCollection() as $newsItem)
 {
 //Other Code
 <a href="<?php echo $this->getItemUrl($newsItem) ?>">Read More..</a>
 }
于 2013-09-30T13:10:16.783 に答える