【问题标题】:Magento - Getting the title of a cms static block from it's block_id?Magento - 从它的 block_id 获取 cms 静态块的标题?
【发布时间】:2012-11-15 11:52:51
【问题描述】:

我正在通过一个小部件实例插入一个 cms 静态块 - 我想从我的小部件模板中输出静态块标题及其内容。默认模板 (app/design/frontend/base/default/template/cms/widget/static_block/default.phtml) 有:

<?php echo $this->getText(); ?>

我将其更改为 getData() 以查看可以抓取的内容,如下所示:

[type] => cms/widget_block
[block_id] => 11
[module_name] => Mage_Cms
[text] => blahblahblah

所以我猜唯一的方法是使用 block_id 来获取标题,但不能完全弄清楚如何。我可以使用 $this->getBlockId() 从那里获取 block_id - 但是我如何使用它来获取标题?

我认为以下方法可能有效,但它没有:

$blockid = $this->getBlockId();
$blocktitle = Mage::getModel('cms/page')->load($blockid, 'block_id')->getTitle();

【问题讨论】:

    标签: magento


    【解决方案1】:

    似乎以下作品:

    $blockid = $this->getBlockId();
    $block = Mage::getModel('cms/block')->load($blockid);
    echo $block->getTitle();
    

    在这里写出一个问题总是有帮助的,看到它写出来的一半时间可以帮助我自己找到答案!

    【讨论】:

      【解决方案2】:

      如果您有几家商店,并且想要您所在的商店,那就是这样:

      $title = Mage::getModel('cms/block')
          ->setStoreId(Mage::app()->getStore()->getId())
          ->load($blockId)
          ->getTitle();
      

      【讨论】:

        【解决方案3】:

        另一种方法是在你的块上为它创建一个函数:

        public function getContactWidgetHtml()
        {
            $result = '';
        
            $widget = Mage::getModel('widget/widget_instance')->load(14);
        
            if ($widget && $widget->getId()) {
                $widgetBlock = $this->getLayout()
                    ->createBlock(
                        $widget->getType(),
                        $widget->getTitle(),
                        $widget->getWidgetParameters()
                    );
        
                if ($widgetBlock) {
                    $result = $widgetBlock->toHtml();
                }
            }
        
            return $result;
        }
        

        然后在你的模板中使用:

        echo $this->getContactWidgetHtml();
        

        【讨论】:

          猜你喜欢
          • 2015-05-09
          • 2023-03-25
          • 1970-01-01
          • 2012-11-22
          • 2011-04-07
          • 1970-01-01
          • 2016-02-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多