问题标签 [sitecore-mvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - Sitecore MVC 渲染类型说明
有人可以帮我澄清何时使用以下内容(它们看起来都与我相似且令人困惑):
- 项目渲染
- 查看渲染
- 控制器渲染
- 方法渲染
- XSLT 渲染
- 渲染参数
- 任何其他
asp.net - 使用 MVC 的 Sitecore“动态占位符”
我正在 MVC 中寻找一个有效的动态占位符解决方案。对于与 WebForms 一起使用的这种“模式”,至少有两个很好的描述:
- http://trueclarity.wordpress.com/2012/06/19/dynamic-placeholder-keys-in-sitecore/
- http://www.techphoria414.com/Blog/2011/August/Dynamic_Placeholder_Keys_Prototype
而且我还发现这个博客解释了如何使用 MVC 做到这一点:
首先,我尝试使用 MVC 博客文章(SitecoreHelper 的扩展)中的技术来实现 Techphoria 的方法(使用 GUID),并且我还尝试实现最后描述的方法(使用递增 Column_1、Column_2 等的数字后缀)。
通过我尝试的所有变体,我没有成功创建一个有效的解决方案。我的占位符没有正确命名(我最终得到了奇怪的占位符结构,或者占位符重复自己)。
在不详细说明我的尝试的情况下,我想知道是否有其他人准备好我可以使用的可行解决方案。
如果我找不到一个已经可行的解决方案,我会更详细地描述我的问题,看看我是否可以让它发挥作用。
sitecore - 如何在 Sitecore MVC 中呈现字段 - 部分视图
如何在部分视图中从模板渲染字段或图像。我需要通过页面编辑器编辑内容。
sitecore - Sitecore 按 __Created 字段对子项进行排序
我有一个运行 MVC 和 Razor 的 Sitecore 6.6 解决方案。我有以下行;
以上工作正常,除了它排序的顺序。我需要根据 __Created 字段获取最新项目。LastOrDefault 似乎采用了树中的最后一项,这并不总是对应于实际最新创建的项。
可以像上面那样在一行中完成吗?
asp.net-mvc - sitecore mvc ControllerRenderer 和上下文项布局
只是在玩 Sitecore 7 和 MVC,我尝试让渲染基础工作正常。
到目前为止,我已经能够在渲染部分中创建视图渲染(并映射到相关的 .cshtml 文件),并将这些应用于项目的演示详细信息(与使用 ASPX 布局/ASCX 的方式大致相同)子布局)。
我还能够将 Item 映射到控制器(使用项目上的 Controller 和 Action 字段),让Index
控制器上的操作(继承自SitecoreController
)返回 view ~/Views/Home/Index
。
我似乎无法理解的问题是合并两种渲染方法。我希望能够创建映射到 的控制器Item
,但使用ViewRenderer
而不是使用默认的 MVC 约定来呈现项目return View()
,以便我可以:
- 通过设置渲染的路径参数来指定视图文件在多站点环境中的位置;和
- 让内容作者/经理像布局/子布局对占位符一样管理渲染。
有谁知道可以实现这一目标的方法?
asp.net-mvc - Sitecore MVC 表单回发不返回完整布局
我正在使用启用了 MVC 的 Sitecore 7。我有一个 cshtml 布局,其中包含页眉、菜单、页脚和占位符。
当我使用 POST 方法在页面中提交表单时,它会到达控制器并且控制器出于某种原因返回视图结果,只有来自视图结果的特定 html 才会呈现到页面。这意味着在进行回发后,页眉、菜单、页脚都消失了,只有结果中的 html 才会呈现在页面上。
这种行为是预期的还是我做错了什么?我希望当我进行回发时,它也会返回带有渲染布局的视图结果
asp.net-mvc - Sitecore mvc 在同一页面中处理多个表单
我正在使用 Sitecore 7,在我当前遇到问题的页面中,我有一个带有两个控制器渲染的布局 (cshtml)。
两个控制器渲染映射到不同的控制器动作但使用相同的控制器。因此,控制器渲染 A 映射到控制器“搜索”、操作“ProductSearch”,控制器渲染 B 映射到控制器“搜索”、操作“客户搜索”
“搜索”控制器中有 4 个方法。
- 返回查看结果的“ProductSearch”
- 设置了处理表单提交的 HttpPost 属性的“ProductSearch”
- 正在返回查看结果的“CustomerSearch”
- 设置了处理表单提交的 HttpPost 属性的“CustomerSearch”
这就是表格的写法
当我提交其中一个表单时,我注意到两个控制器操作都已执行,这不是我所期望的。
如果我然后将控制器呈现表单处理程序之一更改为
然后只调用一个控制器操作,但页面仅呈现该控制器操作的视图结果
有什么我想念的吗?
asp.net-mvc - Sitecore 6.6 中的静态视图渲染
我想知道是否有任何方法可以像使用以下 Web 表单代码调用子布局一样静态调用视图渲染:
我试过这样做:
但是我不能强输入视图渲染,除非我还在 sitecore 中创建渲染项并在 sitecore 中创建模型项,因为我会收到错误。我想知道是否有一种类似的简单方式可以与 MVC 一起用于静态键入内部渲染器。
sitecore - 通过 MVC 渲染的 URL 改变缓存?
在 Sitecore 7 中,我的大部分查询字符串都变成了自定义路由。例如:
结果,我发现自己需要通过 URL 而不是查询字符串来改变我的渲染的 HTML 缓存。Sitecore 是否为 MVC 渲染提供了一种通过 URL 改变缓存的便捷方式?
更新
我发现所有 MVC 渲染都通过mvc.renderRendering管道,其中它们的缓存键是在以下类中生成的:
Sitecore.Mvc.Pipelines.Response.RenderRendering.GenerateCacheKey
通过覆盖GenerateKey(Rendering rendering, RenderRenderingArgs args)
这个类的方法,我可以成功地使用site.Request.FilePath
. 我现在面临的问题是如何从渲染本身中提取此缓存设置?我想我需要在渲染上创建一个新的“VaryByUrl”缓存选项,但我不太确定。
更新 2
我能够使用以下代码从渲染定义项中读取自定义字段。它有效,但它只查看定义项(不是演示详细信息中呈现的实际实例)
asp.net-mvc - Sitecore MVC - 动态视图位置
我有一个需要“主题”功能的网站。所以,我在“主题”文件夹中创建了一堆视图。例如:
我还创建Content
和Menu
查看渲染并将Path
字段分别设置为/Themes/Theme 1/Views/Content.cshtml
和/Themes/Theme 1/Views/Menu.cshtml
。
我需要的是在sitecore管道中的某处用“主题2”替换“主题1”,这样我就可以全局设置主题并动态加载与该主题对应的视图(而不是创建多个“菜单”和“内容”查看效果图)。
有没有办法做到这一点?