0

当我当前使用./cake.bat bake template Genresor./cake.bat bake template Genres --prefix admin时,模板从这些位置使用:

cakephp\bake\src\Template\Bake\Template\view.twig
cakephp\bake\src\Template\Bake\Template\index.twig
cakephp\bake\src\Template\Bake\Template\add.twig
cakephp\bake\src\Template\Bake\Template\edit.twig

当我使用管理员前缀烘焙时,我想要所有这些模板的不同版本。我尝试创建一个 Bake Theme

  • 我跑了./cake.bat bake plugin AdminTheme
  • 然后我将所需的模板文件放在plugins/AdminTheme/templates/Bake/Template/.
  • ./cake.bat bake template Genres --theme AdminTheme
  • 得到Error: "AdminTheme" is not a valid value for --theme. Please use one of "Bake, Migrations, WyriHaximus/TwigView"
4

1 回答 1

0

前缀不会影响模板源,路径几乎是硬编码在\Bake\Shell\Task\TemplateTask::getContent(). 使用不同模板的一种方法是分别烘焙每个动作,并使用action参数,以及可选的alias参数以使用输出的默认名称,类似于以下内容:

bin\cake bake template Genres admin_index index --prefix Admin

那将使用该Template/admin_index.ctp|twig文件,并写入Template/Admin/Genres/index.ctp.

至于您的烘焙主题,您的主题插件中的模板文件夹结构必须是:

AdminTheme/src/Template/Bake/Template/

不是

AdminTheme/templates/Bake/Template/

还要确保你的插件实际上正在被加载,即检查你的类方法中是否$this->addPlugin('AdminTheme');存在,或者你的文件中是否存在早期版本。Applicationbootstrap()Plugin::load('AdminTheme');config/bootstrap.php

另请参阅烘焙食谱 > 扩展烘焙 > 创建烘焙主题

于 2019-09-17T15:28:53.627 回答