重点是创建一个带有Padrino的简单CMS,其中前端内容是对象驱动的,即除了应用程序的域模型之外,还有一个" Page"模型和"内容" /" Snippet"也许"类别"模型。
查看https://github.com/padrino/padrino-web我知道如何做到这一点,尽管在我目前的用例中,将代码完全排除在管理文本字段之外会更有意义。更新内容的人并不精通html,haml,markup等,因此对于" Page"的不同实例设置不同的布局会更好。模型,反过来会有纯文本片段,这些片段在不同的模板中就位硬编码,同时可以在管理员中编辑。
这是否有意义,是否可能?
答案 0 :(得分:0)
是的,这是有道理的,也是可能的。我在基于Padrino的CMS中使用了类似的方法。
我已经完成了将Markdown渲染器用于用户内容和使用苗条模板引擎进行布局内容。
该方法涉及以下简单的事情(例如,方法名称在这里):
# if no controller got the request, try finding some content in the sitemap
get '/:request_uri', :request_uri => /.*/ do
page = Page.get(params[:request_uri]) or not_found
html_content = render_markdown(page.content)
layout = Layout.get(page.layout_id)
render_layout(layout, html_content)
end