如题,参照文档:http://www.fecmall.com/doc/fecshop-guide/develop/cn-2.0/guide-fecmall-rewrite-func.html#8rewritemapblock-model
尝试重写 Cms\block\home\Index
不生效。
修改的配置文件:/appfront/config/fecshop_local.php
$fecRewriteMap = [
// 下面是一个重写的格式例子
// '\fecshop\app\appfront\modules\Cms\block\home\Index' => '\fectfurnilife\appfront\modules\Cms\block\home\Index',
'\fecshop\app\appfront\modules\Cms\block\home\Index' => '\appfront\local\local_modules\Cms\block\home\Index',
];
Block 文件:/appfront/local/local_modules/Cms/block/home/Index.php
public function getLastData()
{
return [
'test_var' => 'hello world'
];
}
实际在模板中并不能输出 $test_var(如果在 addons 里对应 block 文件则能够输出)。
另外我发现如果修改addons/fecyo/config.php
,把 fecRewriteMap 对应部分注释掉,如下:
// 重写model和block
'fecRewriteMap' => [
'\fecshop\app\appfront\modules\Catalog\block\category\Index' => '\fecyo\app\appfront\modules\Catalog\block\category\Index',
// '\fecshop\app\appfront\modules\Cms\block\home\Index' => '\fecyo\app\appfront\modules\Cms\block\home\Index',
是不影响 addons 里面 block 文件使用的。说明似乎这一行 fecRewriteMap 并没有实际起作用(但其它行如 block\category\Price 的 rewrite 测试是起作用的)。
版本:fecmall 2.8.1 fecyo 1.8.8
解决问题过程中基本上遍历了论坛上所有跟 block 重写相关的帖子,但仍未搞定。求助作者,希望可以提供解决思路,感谢!