如何为2sxc的_pager.cshtml创建模板编辑器工具栏按钮?
可以在浏览器内直接编辑_pager.cshtml!
完全不用依赖FTP或RDP就能在浏览器里修改这个局部视图文件,下面是两种实用的实现方案:
方案一:在_pager.cshtml内直接添加编辑按钮
你已经用@Edit.Toolbar(actions: "template-develop")搞定了主模板的编辑入口,给局部视图加按钮的逻辑完全一致:
- 第一次可能还是需要通过FTP/RDP打开
_pager.cshtml(之后就再也不用了) - 在文件顶部(或者你希望编辑按钮显示的位置)插入这段代码:
@Edit.Toolbar(actions: "template-develop") - 保存文件后刷新父页面,就能在_pager.cshtml对应的渲染区域看到编辑按钮,点击后直接在浏览器里修改内容即可。
方案二:在父模板中为RenderPage关联编辑触发
如果不想在局部视图里单独加按钮,也可以在父模板里给RenderPage的调用包裹编辑上下文,让父页面的工具栏能关联到这个局部视图的编辑:
@using (var editContext = Edit.ContextFor("_pager.cshtml")) { @RenderPage("_pager.cshtml", new { count = data.pCount, active = data.pActive}) }
之后确保你的"template-develop"动作配置支持编辑指定路径的视图文件,这样在父页面的编辑工具栏里就能找到编辑_pager.cshtml的选项,或者点击该区域时直接触发编辑。
几个注意点
- 部分框架/CMS默认会限制
_开头的局部视图的编辑权限,可能需要在后台配置里开启对应权限。 - 确认
"template-develop"动作的逻辑包含了局部视图的保存、路径识别等处理,避免出现编辑后无法保存的情况。 - 每次编辑后记得刷新页面测试渲染效果,防止语法错误影响前端展示。
内容的提问来源于stack exchange,提问作者Jernej Pirc
相关产品推荐
相关产品推荐

