2
我想定制产品页面上的评论摘要块,但我似乎无法找到Review模块的Helper块(这是名为“Helper”,它不是助手的块)的注册位置在现有布局XML(连接到真正的类名)“Review”模块的“Helper”块在哪里注册?
我挖了一个小到Magento的核心代码,看看像一个怎么行:
$this->getLayout->createBlock('modulename/blockname');
计算为这样的: “Namespace_Modulename_Block_Blockname”
不知何故,内存中的XML配置包含评审组和帮手,所看到的文件app/code/core/Mage/Core/Model/Config.php
上线1173:
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();
我用法师::日志的那后面线1173可以得到所需要的信息了$config
对象的代码进行核对。
如果有人可以给我提示,这将不胜感激。
谢谢,为了您的快速回答,我很抱歉,我没有回到你的更早。我能理解任何重写只能在这个层面完成吗?对我来说,这意味着如果我想在Review模块中创建任何块的子类,我将被强制子类化所有块。 – pancake
我刚刚有一点启示,请查看我编辑的问题。 – pancake
但是这可能是最好的地方:我尝试在我的自定义模块的config.xml中重写“review_helper”,因为我被整个“helper”做为一个名为helper的块,而不是帮助器本身。它应该是“帮手”,现在它起作用了! – pancake