0

我创建了一个新闻模块。它工作正常..

http://domain.com/magento/news

此页面显示所有新闻项目。带有标题、内容和日期。

当用户单击查看更多链接时,我想查看更多内容链接,它将用户重定向到特定的newsitem页面

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 回答