使用前缀时从不同的模板烘焙 CakePHP
CakePHP Bake from different templates when using prefix
当我当前使用 ./cake.bat bake template Genres
或 ./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
当我使用 admin 前缀烘焙时,我想要所有这些模板的不同版本。我试过了creating a 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"
前缀不会影响模板源,路径在\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');
是否存在于您的 Application
class' bootstrap()
方法中,或者对于早期版本 Plugin::load('AdminTheme');
在你的 config/bootstrap.php
文件中。
当我当前使用 ./cake.bat bake template Genres
或 ./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
当我使用 admin 前缀烘焙时,我想要所有这些模板的不同版本。我试过了creating a 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"
前缀不会影响模板源,路径在\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');
是否存在于您的 Application
class' bootstrap()
方法中,或者对于早期版本 Plugin::load('AdminTheme');
在你的 config/bootstrap.php
文件中。