【问题标题】:Programmatically get html of top.links in magento以编程方式获取 magento 中 top.links 的 html
【发布时间】:2014-02-01 06:00:03
【问题描述】:

我正在尝试使用以下方式获取top.links 的html:

  • $blockHtml = Mage::getModel('cms/block')->getBlockHtml('top.links')

  • $blockHtml = Mage::app()->getLayout()->getBlock('top.links').toHtml()

  • $blockHtml = Mage::getSingleton('core/layout')->getBlock('top.links')->toHtml()

以上都不适合我,我该怎么做?

谢谢。


更新

我用过

$layout = Mage::getSingleton('core/layout');
$block = $layout->createBlock('page/html')->setTemplate('page/html/top.links.phtml')->toHtml();

借助这个问题Add Top Links on condition basis in magento 但仍然没有运气。在这次尝试中,我发现top.links.phtml 的使用已被弃用,知道我应该为链接使用哪个模板吗?

我认为top.links.phtml 文件存在一些依赖关系,这就是为什么它不起作用的原因,当我尝试获取footer.phtml 时,它与上述方法完美配合。

【问题讨论】:

    标签: html magento magento-1.7


    【解决方案1】:

    就像操作一样,我尝试了很多方法都没有成功。下面简单的一行终于做到了:

    <?php echo $this->getLayout()->getBlock('top.links')->toHtml(); ?>
    

    【讨论】:

      【解决方案2】:

      哇!我终于找到了正确的答案:) Load block outside Magento, and apply current template

      因此,按照上述问题的答案,我这样做是为了生成 top.links

          $layout = Mage::app()->getLayout();
          $layout->getUpdate()
                  ->addHandle('default')
                  ->load();
      
          $layout->generateXml()
                  ->generateBlocks();
      
          echo $layout->getBlock('top.links')->toHtml();
      

      【讨论】:

        【解决方案3】:

        如果您从管理面板创建了名为“block_identifier”的 CMS 块。然后以下将是在 .phtml 中调用它们的代码

        <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_identifier')->toHtml(); 
        ?> 
        

        【讨论】:

          【解决方案4】:

          请使用以下代码。这将起作用

             echo  $this->getLayout()->getcreateBlock('page/template_links')->toHtml();
          

          【讨论】:

          • 谢谢阿米特,但它对我不起作用,它返回空字符串。实际上我正在编写一个 API 来获取 top.links.phtml 的内容,所以不知道要呈现该模板还需要什么..
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-11
          • 2012-12-02
          • 1970-01-01
          • 2013-01-16
          • 2017-11-08
          相关资源
          最近更新 更多