Sitecore中规则和操作的Hello World
我正在学习sitecore规则并在上阅读材料。我只想在项目保存时显示一个消息窗口。这就是我目前所做的:Sitecore中规则和操作的Hello World,sitecore,sitecore7,Sitecore,Sitecore7,我正在学习sitecore规则并在上阅读材料。我只想在项目保存时显示一个消息窗口。这就是我目前所做的: 在/sitecore/system/Settings/Rules/Item Saved/Rules下添加了规则 规则1: 其中项目模板为地址条目 运行显示Hello World脚本 在/sitecore/system/Settings/Rules/Item Saved/Actions/ 脚本中有3个字段需要填写,正如烹饪书所说,在Type字段中输入一个值,或者在code、References和
/sitecore/system/Settings/Rules/Item Saved/Rules
下添加了规则
地址条目
运行显示Hello World
脚本
/sitecore/system/Settings/Rules/Item Saved/Actions/
在Type字段中输入一个值,或者在code、References和Language字段中输入一个值。不要在所有四个字段中输入值。
因此我用以下数据填充了字段:
代码:Sitecore.Context.ClientPage.ClientResponse.Alert(“此项下不允许有多个地址!”)代码>
参考资料:我不知道在这里写什么
语言:CSharp
我不知道我做错了什么。任何帮助都将不胜感激 我想我从来没有见过code
字段被用在Actions
项中
在操作中执行某些代码的最简单方法是使用带值的Type
字段:
My.Assembly.Namespace.MyCustomAction,My.Assembly
然后MyCustomAction
类代码:
使用Sitecore.Data;
使用Sitecore.Rules.Actions;
命名空间My.Assembly.namespace
{
公共类MyCustomAction:RuleAction,其中T:ConditionalRenderingsRuleContext
{
公共覆盖无效应用(T规则上下文)
{
//你的代码在这里
}
}
}
我刚刚成功地重新创建了您的脚本,并在新的Sitecore实例上对其进行了测试。以下是您必须遵循的步骤:
在/sitecore/System/Settings/Rules/Definitions/Elements/Script
下添加模板类型为/sitecore/templates/System/Rules/Script
的新项。我把我的项目称为“mydemoscript”。如果您运行的是早期版本的Sitecore(我认为是7.2或更早版本),那么您的保存路径将是/Sitecore/system/Settings/Rules/Item Saved/Actions
在脚本的code
字段中添加以下内容:
在脚本的键入字段中添加“CSharp”
保存脚本项
在/sitecore/system/Settings/Rules/itemsaved/Rules
创建规则下,我将我的命名为“mydemo”
在规则
字段中,使用与之前相同的条件。对于操作,请使用“运行特定脚本”操作。确保编辑操作以引用在步骤1-4中创建的脚本
测试
所以基本上对于这种功能来说,使用事件处理程序更合适??操作绝对是好的。只是不要使用代码、引用和语言字段
,而是使用类型
字段。我仍在使用您提供的解决方案,但仍然无法看到消息。我完全按照你在回答中提到的做了。但我还是看不到任何消息。我试着做一些其他的事情,例如编辑一个项目字段,但仍然没有成功。你能再复习一遍你的答案吗!!尝试记录一些信息,看看您的代码是否全部执行Sitecore.Diagnostics.log(…)
Yes代码没有全部执行。我尝试了日志记录,但在日志中看不到任何条目。谢谢回答!没有名为“定义”的文件夹。在/sitecore/system/Settings/Rules/下,您正在运行哪个版本的sitecore?我正在使用sitecore 7.0Hi Kami,很抱歉,我没有尽快回复您!与上述Sitecore版本说明的唯一区别在于步骤1。我已编辑我的步骤以反映更改。