0

我在 Yii 中使用自定义布局。一切都在应用程序的 Web 部分运行良好。然后我尝试运行应用程序的控制台部分来运行作业,它说:

带有消息“未定义属性“CConsoleApplication.layout”的异常“CException”。在 /pathToFramework/base/CComponent.php:173

如果我恢复到 config/main.php 中的默认布局,它会再次工作。我找不到有关如何仅为控制台应用程序指定布局的任何文档。我知道我可以修复它,但不想变得老套。有没有人知道正确的方法来解决这个问题?谢谢。

4

1 回答 1

0

通常,您不需要在配置中指定布局,而是在您的控制器中执行此操作(如果您要覆盖某些内容)。这可能就是您CWebApplication可以处理事情的原因(您在layout配置中为其提供了一个属性),但您CConsoleApplication不允许设置该属性。

似乎您的选择是:

  1. 在每个控制器中指定你的布局属性(有什么理由你不能只使用默认的views/layouts/main.php?)
  2. layout在仅用于您的CWebApplication系统而不是您的系统的配置文件中指定您的属性CConsoleApplication
  3. layout在特定于您的配置文件中覆盖您的属性CConsoleApplication

以上任何一项都应该有效。

于 2013-05-01T23:47:07.473 回答