当用户点击链接时,如何打开存储在Sitecore中的pdf文档?pdf文档存储在媒体库中.这是我现在的代码:
Sitecore.Data.Fields.LinkField linkField = item.Fields["Url"];
tab.NavigateUrl = linkField.Url;
Run Code Online (Sandbox Code Playgroud) 在Sitecore中制作可重复使用的布局/子布局时,我经常想按ID访问特定项目。这带来了挑战,因为我不确定在所有Sitecore安装中哪些项目将具有相同的ID。
Sitecore根ID(/sitecore)的常数为{11111111-1111-1111-1111-111111111111},可以将其他哪些ID存储为常数,而不必担心需要为每个项目进行更新?
我想让我的Extranet用户使用页面编辑器访问某些页面中的编辑字段,但是我该怎么做?我已经设法让用户访问页面编辑器,但我不能为我的生活找出使字段可编辑.我看到了功能区,但是他们无法编辑字段
用户具有以下角色:
sitecore\Author
使用此代码,我设法更改当前项目的渲染.然而,这在Sitecore中永久性地改变了(变化可以在CMS中看到),而不是像我预期的那样暂时改变.
void ReplaceLayout(Item item)
{
if (item == null)
return;
using (new SecurityDisabler())
{
// New item
LayoutField newLayoutField = new LayoutField(item.Fields[Sitecore.FieldIDs.LayoutField]);
LayoutDefinition newLayoutDefinition = LayoutDefinition.Parse(newLayoutField.Value);
DeviceDefinition newDeviceDefinition = newLayoutDefinition.GetDevice(Sitecore.Context.Device.ID.ToString());
// Current item
LayoutField layoutField = new LayoutField(Sitecore.Context.Item.Fields[Sitecore.FieldIDs.LayoutField]);
LayoutDefinition layoutDefinition = LayoutDefinition.Parse(layoutField.Value);
DeviceDefinition deviceDefinition = layoutDefinition.GetDevice(Sitecore.Context.Device.ID.ToString());
deviceDefinition.Layout = newDeviceDefinition.Layout;
deviceDefinition.Renderings = newDeviceDefinition.Renderings;
Sitecore.Context.Item.Editing.BeginEdit();
layoutField.Value = layoutDefinition.ToXml();
Sitecore.Context.Item.Editing.EndEdit();
}
}
Run Code Online (Sandbox Code Playgroud)
我不想对项目进行永久性更改,我只想在满足某些条件的情况下动态替换当前显示的项目渲染.有谁知道如何以这种方式改变项目的布局?
我在安装自定义工作流程后注意到的一件事是,只有在第一次创建项目时,项目才会遍历工作流程.在它们到达最终状态后,对该项目的进一步修改不会将其发送回"草稿".关于我可能会忽略的任何想法?我需要一些特殊的保存活动吗?
我有一个使用Sitecore的FBA网站.每隔一段时间,它就会使一个用户与另一个用户感到困惑.我的意思是,用户A会以某种方式无意中劫持用户B的会话.用户A将查看a)他们无权查看的页面,并且b)为用户B定制.有一次我能够重现(意外),我点击后恢复原来的会话到另一页.
我知道Sitecore利用了Aspnet会员数据库,所以这可能是该数据库的一个问题,但我真的无法猜测.感觉更像是会话问题而不是其他问题.此外,这不是在群集上发生,而是在独立计算机上发生.
无论如何,任何信息 - 甚至理论 - 都可能有所帮助.我不认为我以前见过这样的东西.
我在Sitecore中创建了大量数据(由用户创建的内容,而不是开发人员).我知道为了将大量数据从一个环境传输到另一个环境,我需要先将所有内容序列化.
我的问题是,在我序列化内容之后,我是否需要创建一个包含我想要移动的数据的设计器包?或者在我序列化后,我使用序列化文件?
我们使用自定义用户界面通过Sitecore API以编程方式存储Sitecore项目.
由于Sitecore不允许重复名称,并且Sitecore不允许某些字符包含在项目名称中,因此我们决定将时钟标记存储为项目名称.但这对内容编辑者来说不是用户友好的.这些URL也不是搜索引擎优化的(因为它不是人类可读的).
解决此问题的推荐方法是什么?如果我们要将Item的"Title"存储为项目名称,我们如何处理重复的名称?
我遇到的问题是Sitecore快速查询没有检索到内容树中存在的项目.Sitecore的版本是6.5(rev 121009).奇怪的是,这适用于另一种环境.我已经尝试按照此处列出的步骤清理数据库,但查询仍然失败.我想要检索的项目是电子邮件test02072013:

使用的快速查询是:
fast:/ sitecore/content/Home/Email Campaign/Test 02072013/Sent //*[@@ templatename ='HTML Message']
我已检查模板是否正确,并且项目的路径存在.我已经尝试在xpath构建器中运行查询但仍然没有运气.此外,正常的sitecore查询也不起作用:

我错过了一些明显的东西,还是有人有其他方法我可以尝试?谢谢
我正在使用sitecore.对于一个项目,我创建了一个带有简单类型整数字段的模板.此整数字段的默认值为0.
当我基于此模板创建一个值0(默认值)的新项目时,它不会显示.通过将默认值更改为1(例如),将显示该值.有谁知道如何解决这个问题?
非常感谢.
约迪