ユーザーが RTE の「リンクの挿入」機能を使用してストーリーを作成すると、次のような結果が得られます...<a href="link-to-story"><Item-Name-Of-Story</a>
アイテム名の代わりに、「見出し」という別のフィールドを使用したいの
ですが、これを行う方法を知っている人はいますか?...
<a href="link-to-story">Headline-Of-Story</a>
どんな助けでも大歓迎です。ありがとう
まず、Reflector または DotPeek でこのクラスを確認する必要があります: Sitecore.Shell.Controls.RichTextEditor.InsertLink.InsertLinkForm を使用して独自のクラスで変更します。このメソッドだけを変更する必要があります。私はテストして正常に動作します:
protected override void OnOK(object sender, EventArgs args)
{
Assert.ArgumentNotNull(sender, "sender");
Assert.ArgumentNotNull((object) args, "args");
string displayName;
string text;
if (this.Tabs.Active == 0 || this.Tabs.Active == 2)
{
Item selectionItem = this.InternalLinkTreeview.GetSelectionItem();
if (selectionItem == null)
{
SheerResponse.Alert("Select an item.", new string[0]);
return;
}
else
{
displayName = selectionItem["Headline"];
if (selectionItem.Paths.IsMediaItem)
text = CustomInsertLinkForm.GetMediaUrl(selectionItem);
else if (!selectionItem.Paths.IsContentItem)
{
SheerResponse.Alert("Select either a content item or a media item.", new string[0]);
return;
}
else
{
LinkUrlOptions options = new LinkUrlOptions();
text = LinkManager.GetDynamicUrl(selectionItem, options);
}
}
}
else
{
MediaItem mediaItem = (MediaItem) this.MediaTreeview.GetSelectionItem();
if (mediaItem == null)
{
SheerResponse.Alert("Select a media item.", new string[0]);
return;
}
else
{
displayName = mediaItem.DisplayName;
text = CustomInsertLinkForm.GetMediaUrl((Item) mediaItem);
}
}
if (this.Mode == "webedit")
{
SheerResponse.SetDialogValue(StringUtil.EscapeJavascriptString(text));
base.OnOK(sender, args);
}
else
SheerResponse.Eval("scClose(" + StringUtil.EscapeJavascriptString(text) + "," + StringUtil.EscapeJavascriptString(displayName) + ")");
}
このクラスを変更した後、次のファイルを変更する必要があります: \sitecore\shell\Controls\Rich Text Editor\InsertLink\InsertLink.xml ここで、codeBeside セクションを変更する必要があります
<CodeBeside Type="Sitecore.Shell.Controls.RichTextEditor.InsertLink.InsertLinkForm,Sitecore.Client"/>
次のようなもので:
<CodeBeside Type="YourNameSpace.YourInsertLinkForm,YourAssembly"/>