" Helper" "评论"模块注册?

时间:2011-11-10 14:48:34

标签: layout magento block helper review

我想在产品页面上自定义审核摘要块,但我似乎无法找到Helper块(这是一个名为“Helper”的块,它不是帮助器“)的Review模块是在现有布局xml中注册(连接到真实的类名)。

我在Magento核心代码中挖了一下,看看如何划线:

$this->getLayout->createBlock('modulename/blockname');

评估为: 'Namespace_Modulename_Block_Blockname'

内存中的XML配置确实包含审阅组和帮助程序,如第1173行的文件app/code/core/Mage/Core/Model/Config.php中所示:

1164  $classArr = explode('/', trim($classId));
1165  $group = $classArr[0];
1166  $class = !empty($classArr[1]) ? $classArr[1] : null;
1167  
1168  if (isset($this->_classNameCache[$groupRootNode][$group][$class])) {
1169      return $this->_classNameCache[$groupRootNode][$group][$class];
1170  }
1171  
1172  //$config = $this->getNode($groupRootNode.'/'.$group);
1173  $config = $this->_xml->global->{$groupType.'s'}->{$group};
1174  
1175  if (isset($config->rewrite->$class)) {
1176      $className = (string)$config->rewrite->$class;
1177  } else {
1178      if (!empty($config)) {
1179          $className = $config->getClassName();

我使用Mage :: log检查了第1173行之后的代码可以从$config对象中获取所需的信息。

如果有人能给我这方面的提示,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你看看

app/code/core/Mage/Review/etc/config.xml

你可以看到

有一个节点
<config>
    <global>
        <blocks>
            <review>
                <class>Mage_Review_Block</class>
            </review>
        </blocks>
    </global>
</config>

这会将review注册为块的组。之后,不需要专门配置名为Helper的块,因为别名(groupname/classname)的类部分将是Leading_Camel_Cased并附加到为该组配置的类。