我通过在那里调用phtml文件设计了来自cms的主页。我能够在默认的index.php文件中看到cms页面。
然后,我创建了网站。我想在我的新网站的主页(索引控制器和索引操作)中显示这个cms页面。
我试图直接从控制器显示phtml文件,但无法成功。 我试过this,但没有显示任何结果。
我想直接或通过调用cms页面从控制器显示phtml文件。 但是无法做到。
更新
我能够加载phtml文件。但它没有显示只有这个文件的结果(从原始文件图像没有加载,但我正在调查它。)
它也显示默认布局。我想删除默认布局,只想显示我从代码加载的文件。
从两个不同的文件加载内容(我猜),我想从左侧和左侧删除不需要的内容。
如何做到这一点?
答案 0 :(得分:4)
您好,您将调用阻塞到cms页面内容,如下所示
{{block type ='core / template'template ='hello.phtml'}}或
将以下代码添加到您的控制器
$this->loadLayout();
$block = $this->getLayout()->createBlock('Mage_Core_Block_Template','helloworld_index',array('template' => 'helloworld/index.phtml'));
$this->getLayout()->getBlock('content')->append($block);
$this->renderLayout();
答案 1 :(得分:0)
始终加载默认值,因为布局中的默认句柄未被覆盖。您必须创建一个新的布局文件。在你的句柄module_controller_action中设置完整的页面布局。之后加载此布局。通过这个会给你一个简短的想法http://www.magentocommerce.com/design_guide/articles/intro-to-layouts
然后创建一个layout.xml来搜索这个。这就是所需要的一切
答案 2 :(得分:0)
试试这个
$this->loadLayout();
$this->_initLayoutMessages('catalog/session'); //messages (optional)
$this->getLayout()->getBlock('head')->setTitle($this->__('My Title')); //your page title (optional)
$block = $this->getLayout()->createBlock('core/template')->setTemplate('foldername/filename.phtml')->toHtml(); //set layout file
$this->getLayout()->getBlock('content')->append($block);
$this->renderLayout();