我有一个Scala / Liftweb应用程序,其中有一个名为“Edit Item”的页面,其URL看起来像“/ items / 123 / edit”(123是项目ID)。在此页面上,将显示一个用于编辑项目的表单。我可以通过按“项目列表”页面上的“编辑项目”链接进入此页面。我正在为我的应用程序使用zurb基础CSS框架,现在我决定使用Foundation Reveal插件通过AJAX请求加载“编辑项目”表单并将其显示为模式对话框。一切正常,但在“编辑项目”页面上我有<div id="main" class="lift:surround?with=default;at=content">
,其中包含default.html
模板的表单,其中有主菜单,侧边栏和所有其他内容。如果请求是由AJAX提出的,是否可以选择删除lift:surround
?我可以使环绕条件有条件吗?或者,没有环绕声处理ajax请求表单的唯一方法是编写一个单独的页面,在SiteMap中提及它,并将基于ajax的请求重定向到此页面?
也许网上有一个示例电梯应用程序,它演示了基于ajax的模式对话框,用于CRUD风格的项目管理?
答案 0 :(得分:0)
我认为最简单的方法是拆分文件,如下所示:
假设您目前拥有/items.html
中的内容,那么
创建一个文件/templates-hidden/items-content.html
并移动
你希望随处可见的东西。
将/items.html
中复制的内容替换为<div data-lift="embed? what=/templates-hidden/items-content"></div>
。
为您的AJAX弹出窗口创建一个单独的文件,并使用第二步中的嵌入作为唯一内容。或者,如果您想将其作为JsCmds.SetHtml
发送,则可以使用Templates("templates-hidden" :: "items-content" :: Nil)
将内容检索到Box[NodeSeq]
。