- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
谁能指导我如何在DD4T代码中使用Razor模板中的SiteEdit特定语法或标记?我已经在其中看到了Site Edit的相关类,但是在其中有一些类似于Dreamweaver的语法的 View 中无法理解如何使用SiteEdit标记,例如我们在Dreamweaver中使用的RenderComponentField
或tcdl:ComponentField
。我是DD4T的新手,正在使用SiteEdit 2009 SP3和SDL Tridon 2011 SP1。
提前致谢。
更新:我们已经尝试了答案中提到的实现,但是很遗憾,我们在访问代理中的页面时收到错误消息,指出“无效的模板-HTML无效,可能是因为您的模板代码生成了无效的HTML,例如内部的ap标记另一个p标签。请使用W3C标记验证服务之类的验证器检查HTML,更正您的模板,然后重新发布。”
我猜这是因为Xml内容由于使用了我们在组件模板和页面模板中使用的动态页面和组件TBB而被推送到html页面中。
让我们知道如何继续。
最佳答案
不会像在Dreamweaver模板中那样生成SiteEdit标记,您有责任自己将可编辑字段的标记放置在Razor View 中。这样做的好处是,它适用于SiteEdit 2009 SP3和UI 2012类似。UI2012的缺点是(尚未)监听(可以在组件或页面模板上设置的启用内联编辑)(我们应该这样做)。考虑使用 future 的DD4T版本)。
一切都基于DD4T SiteEditHelper
类。通过发出以下调用,从页面 View (在</body>
标记之前)开始:
@Html.SiteEditPage(Model)
@{var ComponentPresentation = ViewBag.ComponentPresentation as IComponentPresentation;}
<div>
@Html.SiteEditComponentPresentation(ComponentPresentation)
</div>
<div>
@Html.SiteEditField(Model, Model.Fields["FieldName"])
@Model.Fields["FieldName"].Value
</div>
关于tridion - 如何在Tridion的DD4T中使用SiteEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10810587/
Tridion 的用户界面允许您扩展特定命令,这是修改某些现有命令的行为的好方法。在编辑器的配置文件中,这是通过如下部分完成的: 我正在研究一个通用命令扩展类,可用于修改许多命令的行为:
是否可以在事件系统中将项目放置在工作流中?我面临的问题是,我们想根据组件所在的文件夹(而不是使用的架构)将组件定向到两个不同的工作流,而Tridion UI似乎不支持。我希望编写一个在 checkin
是否可以在 Tridion 2011 TOM.NET 中获取字段类型? ItemField 类有名称和定义,但我没有看到旧的受信任 ItemType 属性。 我感觉我需要使用 Definition 属
我正在使用核心服务创建组件以连接到 Tridion 2011 SP1。我在服务器机器上编写了代码,通过核心服务创建一个组件,并且运行良好。代码是从服务器计算机执行的。 现在我想从客户端机器上执行相同的
我正在 SDL Tridion 2011 SP1 中创建架构。我突然发现了一件事。 我必须向用户显示三个下拉列表。 列表:国家 列表:州 列表:位置 如果用户在下拉列表中选择一个国家/地区,则需要根据
是否可以从 CMS 卸载 Tridion SP1 HR#1 修补程序并保留数据库更新?自应用修补程序以来,我们的 GUI 行为非常缓慢(可能与 TMS 服务失败有关?)并且需要返回到 SP1 - 但是
我正在通过在 TRIDION 2011 SP1 版本中添加按钮来自定义功能区工具栏。当我单击该按钮时,它将打开一个 aspx 页面。在该 aspx 页面内,我需要在创建组件本身之前访问用于创建该组件的
将现有的 Tridion 2009 事件 DLL(在 2011 服务器上编译)添加到 bin 目录并在 Content Manager 配置文件中注册 DLL 后,GUI 现在返回以下错误。我检查了事
将内容从 Tridion 5.2 导入到 Tridion 2011 SP1 的最佳方式是什么?内容搬运工?或卡波 最佳答案 要升级数据库,您必须遵循以下路径:5.2 => 5.2 SP1 => 5.3
我在 Tridion 2011 SP1 的功能区工具栏中添加了一个按钮。当我单击按钮时,它将打开一个 aspx 页面。在该 aspx 页面内,我需要访问光标当前所在的当前字段名称。请提供我要使用的对象
如何获取所选项目的版本号(组件/页面) 我正在使用下面的代码 VersionedItemData verinfo=csClient.Read(, new ReadOptions())
作为对功能区工具栏实现按钮的一部分。我需要按钮 java 脚本文件中的模式名称。所以我试图使用以下命令来获取架构对象。 $display.getView().getItem().getSchema()
我是 Tridion 的新手,并且面临分类问题。 作为存储,我们使用文件系统,对于分类,我们使用 sql db。 现在,我们创建了 状态 作为其中包含少量关键字的类别。我已经创建了模式和组件,并选择了
我正在尝试使用以下代码在 Tridion 模板类中创建一个多媒体组件。 MemoryStream stringInMemoryStream = new MemoryStream(ASCIIEncodi
当我们从 tridion 发布一些页面/动态组件时,是否可以在发布时将一些外部多媒体文件/内容(例如:jpg 图像)添加到当前执行/渲染包中。因此,最终的传输包具有此二进制文件以及原始发布的内容? 这
我想知道是否有人为脚注提出了一个好的解决方案。 我希望在具有多个组件的页面上在 Tridion 中实现脚注,并且我希望所有脚注都显示在页面底部,并在内容部分生成正确的脚注编号。 http://i.st
事件系统处理程序代码: [TcmExtension("My Handler")] public sealed class EventSystem : TcmExtension { public
确定哪些 Tridion 修补程序已应用于系统的最可靠方法是什么(除了正确的先前版本文档)? 具体来说,我想了解 SDL Tridion 2009,但也有兴趣了解 SDL Tridion 2011 是
如何水平放置多个自定义按钮 - 在 tridion 功能区中一个在另一个下方。 就像我们有 checkin 、 checkout 、撤消 checkout 按钮一样。 我尝试通过将它们放在一组中来创建
我们有一个应用程序,它具有通过动态组件演示文稿的发布动态生成的菜单。 menu.xml 是由基于结构组的组件模板写出的,并且该组件模板通过事件系统触发以在结构组时发布已发布。 在从 Tridion 2
我是一名优秀的程序员,十分优秀!