Как создать и интегрировать набор пользовательских шаблонов в Phoenix Framework (Elixir)
Вместо того, чтобы настраивать шаблоны, поставляемые с Phoenix Framework, я хотел бы создать свой собственный набор и иметь их вызываемыми в качестве пользовательской задачи смешивания.
Я могу создать пользовательскую задачу смешивания, но не могу понять:
Где в рамках структуры каталогов phoenix framework поместить каталог пользовательских шаблонов
Как изменить модульный микс.Задачи.???.Gen.Html так что смешайте.Феникс.пути copy_from(), ... можно найти каталог, в котором пользовательские шаблоны сохраняются. (Куда ??? это строка для имени моей настройки. Это копия Микса.Задачи.Феникс.Gen.Html модуль, который я переименовал и могу успешно запустить с немодифицированным кодом, успешно найдя предоставленные шаблоны)
Была тема по проблемам Phoenix Github, которая немного говорила на эту тему, но не помогала с путями каталогов для использования.
Любые предложения или указатели на проекты, которые реализовали свои собственные пользовательские шаблоны были бы очень признательны.
1 ответ:
Расположение шаблонов в настоящее времяжестко закодировано в источнике phoenix, поэтому вы не сможете указать произвольное местоположение. Однако сначала он будет искать в текущем каталоге,а затем внутри исходного кода phoenix. Единственное, что вам нужно сделать, это создать каталог
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> ...
Comments