如何使用page_layouts.yml设置页面布局?
How to set page layout using page_layouts.yml?
我需要设置页面布局,目前我可以看到使用的页面布局文件是application.html.haml
如何让页面使用另一个文件作为布局?
我认为通过设置 name
来使用 page_layouts.yml
是可能的,但似乎我仍然不知道如何去做。 name
与什么有关?现在,它的值为 index
,但是那个索引文件在哪里?
有什么想法吗?
编辑
我可以处理这个,但只在展示页面工作:
class ApplicationController < ActionController::Base
layout :determine_layout
def determine_layout
module_name = self.class.to_s.split("::").first
return (module_name.eql?("Alchemy") ? "pages" : "application")
end
但是,我仍然需要在管理页面编辑页面时应用它。
application.html.erb
文件是整个 Rails 应用程序的模板。每个 page_layout
炼金术页面都有自己的模板存储在 app/views/alchemy/page_layouts
文件夹中。
请阅读有关如何创建页面布局和模板的指南
https://guides.alchemy-cms.com/pages.html#page-templates
编辑:
您可以使用 config/alchemy/config.yml
中的 admin_page_preview_layout
设置来设置管理页面编辑预览中使用的布局。
https://github.com/AlchemyCMS/alchemy_cms/blob/main/config/alchemy/config.yml#L205
我需要设置页面布局,目前我可以看到使用的页面布局文件是application.html.haml
如何让页面使用另一个文件作为布局?
我认为通过设置 name
来使用 page_layouts.yml
是可能的,但似乎我仍然不知道如何去做。 name
与什么有关?现在,它的值为 index
,但是那个索引文件在哪里?
有什么想法吗?
编辑
我可以处理这个,但只在展示页面工作:
class ApplicationController < ActionController::Base
layout :determine_layout
def determine_layout
module_name = self.class.to_s.split("::").first
return (module_name.eql?("Alchemy") ? "pages" : "application")
end
但是,我仍然需要在管理页面编辑页面时应用它。
application.html.erb
文件是整个 Rails 应用程序的模板。每个 page_layout
炼金术页面都有自己的模板存储在 app/views/alchemy/page_layouts
文件夹中。
请阅读有关如何创建页面布局和模板的指南
https://guides.alchemy-cms.com/pages.html#page-templates
编辑:
您可以使用 config/alchemy/config.yml
中的 admin_page_preview_layout
设置来设置管理页面编辑预览中使用的布局。
https://github.com/AlchemyCMS/alchemy_cms/blob/main/config/alchemy/config.yml#L205