我创建了一个新闻模块。它工作得很好..
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');
}
没有得到输出..
需要帮助才能获得输出。
答案 0 :(得分:0)
在 info.php 中添加以下函数以获取新闻项的网址。
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>
}