我想在产品页面上自定义审核摘要块,但我似乎无法找到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
对象中获取所需的信息。
如果有人能给我这方面的提示,我们将不胜感激。
答案 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并附加到为该组配置的类。