Gra*_*Hay 2 elixir phoenix-framework
我不想自定义Phoenix Framework提供的模板,而是想创建一个自己的模板,并将那些可调用作为自定义混合任务.
我可以创建自定义混合任务,但无法弄清楚:
其中凤盾框架目录结构中放置自定义模板的目录
如何修改模块Mix.Tasks.???.Gen.Html,以便Mix.Phoenix.copy_from paths(),...可以找到存储自定义模板的目录.(其中???是我的自定义名称的字符串.这是我已重命名的Mix.Tasks.Phoenix.Gen.Html模块的副本,可以使用未修改的代码成功运行,成功查找提供的模板)
凤凰城Github问题上有一个线程在某种程度上谈到了这个主题,但没有帮助使用目录路径.
任何建议或指向已实现自己的自定义模板的项目将非常感激.
模板的位置当前在凤凰源中进行了硬编码,因此您将无法指定任意位置.然而,它将首先在当前目录中搜索,然后在凤凰源代码中搜索.您唯一要做的就是priv/templates/phoenix.gen.html/在应用程序中创建目录.然后,您可以覆盖那里的模板.
# create dummy app
$ mix phoenix.new my_app
$ cd my_app
$ mix deps.get
$ mix deps.compile
# override the show template
$ mkdir -p priv/templates/phoenix.gen.html/
$ echo 'TEST <%= 123 %>' > priv/templates/phoenix.gen.html/show.html.eex
# run the generator
$ mix phoenix.gen.html User users name:string
# the show template is now overridden
$ cat web/templates/user/show.html.eex
TEST 123
# other templates are left untouched
$ cat web/templates/user/index.html.eex
<h2>Listing users</h2>
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |