当我们在yii2中使用多个主题时,是否有可能从某个主题中拒绝某些控制器操作


is this possible to deny certain controller actions from certain theme when we use multiple themes in yii2

我目前正在从事一个电子商务网站项目。我有多个主题需要管理。所以我想问,当我们在yii2中使用多个主题时,是否有可能从某个主题中拒绝某些控制器的操作?

我认为您对此的看法是错误的。你不能把某些动作排除在主题之外;主题由视图文件使用,因此在使用它们时,操作已经确定。但是,您可以定义要使用的主题,无论是用于控制器还是用于单个操作。在呈现视图之前,只需将此代码放在代码中,根据您的主题进行调整,放在控制器的init()函数中,或放在操作方法中。

$this->getView()->theme = Yii::createObject([
    'class' => ''yii'base'Theme',
    'pathMap' => ['@app/views' => '@app/themes/basic'],
    'baseUrl' => '@web/themes/basic',
]);