Magento 从控制器调用cms/phtml

Magento 从控制器调用cms/phtml,magento,magento-1.7,Magento,Magento 1.7,我已经从cms通过调用phtml文件设计了主页。我可以在default index.php文件中看到cms页面 然后,我创建了一个网站。我想在我的新网站主页上显示这个cms页面(索引控件和索引操作) 我试图从控制器直接显示phtml文件,但未能成功。 我试过了,但没有结果 我想直接或通过调用cms页面显示来自控制器的phtml文件。 但我做不到 更新: 我能够加载phtml文件。但它不会仅显示此文件的结果(原始文件图像未加载,但我正在查看)。 它还显示默认布局。我想删除默认布局,只想显示从代码加

我已经从cms通过调用phtml文件设计了主页。我可以在default index.php文件中看到cms页面

然后,我创建了一个网站。我想在我的新网站主页上显示这个cms页面(索引控件和索引操作)

我试图从控制器直接显示phtml文件,但未能成功。 我试过了,但没有结果

我想直接或通过调用cms页面显示来自控制器的phtml文件。 但我做不到

更新:
我能够加载phtml文件。但它不会仅显示此文件的结果(原始文件图像未加载,但我正在查看)。
它还显示默认布局。我想删除默认布局,只想显示从代码加载的文件

从两个不同的文件加载内容(我猜),我想从左到右删除不需要的内容


如何做到这一点?

您好,您将在cms页面内容中调用block,如下所示

{{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();

您好,您将调用块进入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();

它总是加载默认值,因为布局中的默认句柄未被覆盖。您必须创建一个新的布局文件。在句柄模块\控制器\操作中设置完整的页面布局。然后加载此布局。仔细看一下,你会有一个简单的想法


然后创建一个layout.xml并搜索它。这就是所需的全部内容

它总是加载默认值,因为布局中的默认句柄不会被覆盖。您必须创建一个新的布局文件。在句柄模块\控制器\操作中设置完整的页面布局。然后加载此布局。仔细看一下,你会有一个简单的想法

然后创建一个layout.xml并搜索它。这就是所需的全部内容

试试这个

    $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();
试试这个

    $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();

$html=$this->getLayout()->createBlock('core/template')->setTemplate('FOLDER_NAME/FILE_NAME.phtml')->toHtml();在这之后,你有了setBody($html)来查看你的输出,我使用了这个$this->getResponse->setBody($this->getLayout()->createBlock('core/template')->setTemplate('page/homepage.phtml')->toHtml());我将homepage.phtml创建为theme/default/template/page/homepage.phtml。我只想指定这个路径的大部分,对吗?我写了回音行,然后写了这行。但它只显示我在echo中写的内容,而不显示phtml文件的一部分。尝试用一些变量赋值意味着先取一个变量,它将调用您的phtml文件,然后将这个变量赋值给setbody$html=$this->getLayout()->createBlock('core/template')->setTemplate('FOLDER_NAME/file_NAME.phtml')->toHtml();在这之后,你有了setBody($html)来查看你的输出,我使用了这个$this->getResponse->setBody($this->getLayout()->createBlock('core/template')->setTemplate('page/homepage.phtml')->toHtml());我将homepage.phtml创建为theme/default/template/page/homepage.phtml。我只想指定这个路径的大部分,对吗?我写了回音行,然后写了这行。但它只显示我在echo中写的内容,而不显示phtml文件的一部分。尝试用一些变量赋值意味着取第一个变量,它将调用您的phtml文件,然后将此变量赋值给setbodyi知道我可以从cms调用phtml。我想从控制器调用cms或直接从控制器调用phtml。我知道一种方法,但它不起作用。请参阅我添加的更新问题截图。我知道我可以从cms呼叫phtml。我想从控制器调用cms或直接从控制器调用phtml。我知道一种方法,但它不起作用。请参阅我添加的更新问题截图。