fecmall 语言翻译文件无效,无法进行文字内容翻译

技术问题 · Fecmall · 于 4年前 发布 · 1141 次阅读

有一些时候,会发现加入了翻译文件,无法翻译,

这个可能是你的controller重写了init(),方法,

1.没有集成fecmall的基类controller,譬如:@fecshop\app\apphtml5\modules\AppfrontController

可以看到init方法

public function init()
    {
        /**
         * 如果模板路径没有配置,则配置模板路径
         */
        if (!Yii::$service->page->theme->fecshopThemeDir) {
            Yii::$service->page->theme->fecshopThemeDir = Yii::getAlias(CConfig::param('apphtml5BaseTheme'));
        }
        /**
         * 如果layout文件没有配置,则配置layout文件
         */
        if (!Yii::$service->page->theme->layoutFile) {
            Yii::$service->page->theme->layoutFile = CConfig::param('apphtml5BaseLayoutName');
        }
        /*
         *  set i18n translate category.
         */
        Yii::$service->page->translate->category = 'apphtml5';
        /*
         * 自定义Yii::$classMap,用于重写
         */
    }

也就是这里设置Yii::$service->page->translate->category = 'apphtml5';

2.继承了基类controller,进行了init方法重写,但是没有执行parent::init()

譬如:

public function init()
    {
        if (Yii::$app->user->isGuest) {
            Yii::$service->url->redirectByUrlKey('customer/account');
            exit;
        }
    }

就会导致基类的controller没有执行,因此,需要改成

public function init()
    {
        if (Yii::$app->user->isGuest) {
            Yii::$service->url->redirectByUrlKey('customer/account');
            exit;
        }
        parent::init();
    }

这样语言翻译文件的category设置,就会在基类controller中执行。

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics