如何向Tridion RTF提交aspx页面值
我正在创建TridionGUI扩展,在这个扩展中,我在功能区工具栏中创建了一个按钮(“InsertCP”)。 情况是: 1.用户从组件的富文本框中选择任何文本如何向Tridion RTF提交aspx页面值,tridion,tridion-2011,Tridion,Tridion 2011,我正在创建TridionGUI扩展,在这个扩展中,我在功能区工具栏中创建了一个按钮(“InsertCP”)。 情况是: 1.用户从组件的富文本框中选择任何文本 2.用户单击功能区工具栏上的“InsertCP”按钮。 3.当用户单击按钮时,我正在打开我的自定义aspx页面。 4.从自定义aspx页面,用户可以选择“组件”和“组件模板”。 5.我将所选组件和组件模板tcm id存储在变量中。 6.我在自定义aspx页面中有提交按钮。 7.当用户单击“提交”按钮时,我需要在富文本框源中设置所选文本的格
2.用户单击功能区工具栏上的“InsertCP”按钮。
3.当用户单击按钮时,我正在打开我的自定义aspx页面。
4.从自定义aspx页面,用户可以选择“组件”和“组件模板”。
5.我将所选组件和组件模板tcm id存储在变量中。
6.我在自定义aspx页面中有提交按钮。
7.当用户单击“提交”按钮时,我需要在富文本框源中设置所选文本的格式,如下所示。
例: 和java脚本与退出脚本相同。。 但我在运行时出错。我需要在cs页面中添加任何名称空间吗 我的CS页面将有如此多的事件如下。我不能使用tridion控制按钮此页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tridion.ContentManager.CoreService.Client;
using System.Xml.Linq;
using System.Xml;
namespace Somename
{
public partial class Classname
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ddSelectOption_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbPublication_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbPubFolders_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbComponent_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbComponentTemplate_SelectedIndexChanged(object sender, EventArgs e)
{
}
查看您的更新,我收集您想要的是根据ASPX页面中的信息创建一个锚元素,并将其插入组件的富文本字段的选定文本中 要构建这样的东西,你最好看看类似的东西。我能想到的最简单的例子是“格式”功能区工具栏中的“超链接”按钮。这包括两个项目:
initialize()
方法中,将按如下方式提取所选零件:
var p=this.properties;
var c=p.对照组;
//获取选定的首字母缩略词
p、 OldLink=(window.dialogArguments&&window.dialogArguments.link)?window.dialogArguments.link:{};
返回富文本字段的post是在\u onOkButtonClicked(event)
方法中完成的,如下所示:
this.\u buildNewLinkHtml();
this.firevent(“提交”{link:this.properties.NewLink});
window.close();
您可以仔细查看Link.js文件中的其余代码,并根据需要重新构建它
顺便说一句,看看你想在href中发回的信息,我想说,如果你根据某种标准对其进行更多的格式化,这会更容易,例如,你可以将URI像JSON一样放在那里:
甚至可能滥用组件模板URI的title属性:
因为我假设您的组件模板代码将使用这些值来处理这个超链接构造
编辑
在添加的图像中显示的无法识别的标记前缀c错误,可以通过添加正确的名称空间引用来解决,如我在。因此,只需将其添加到HTML元素中:
至于无法识别的cc标记前缀,您不必为它操心,因为您在Tridion上下文中运行它,所以它似乎在运行时得到了很好的解决。我将为您更新的问题提供第二个答案,尽管你仍然让我们有点蒙在鼓里,因为你只提到你得到了一个运行时错误,而不是它到底是什么(如果我不知道你得到了什么错误,我不可能提供一个好的答案) 您的ASPX页面应如下所示:
我的弹出示例
Tridion.Web.UI.Editors.CME
Tridion.Web.UI.Editors.CME.Controls
我的标签
注意:表标记是直接从锚弹出窗口复制的,可以随意使用div来代替,并以任何方式设置它们的样式,该示例旨在向您展示如何重用现有的Tridion控件
您的CS将成为:
使用Tridion.Web.UI.Core;
使用Tridion.Web.UI.Controls;
使用Tridion.Web.UI.Core.Controls;
使用Tridion.Web.UI.Editors.CME.Views.Popups;
名称空间示例
{
[ControlResources(“Example.MyPopup”)]
公共类MyPopup:PopupView
{
}
}
它不包含任何内容,也不需要包含任何内容,正如前面所述,您将在JavaScript中执行的所有操作。您所选文本的示例有点不清楚,也许您可以在其中添加更多细节,具体需要做什么?我需要创建一个像我所展示的那样的标签。请查看更新的问题这很有帮助,但我在一个地方结巴,我如何用我的提交按钮将我在aspx页面中的选择提交给RTF。在现有的选项中,他们使用的是Tridion控制按钮。所以在我的情况下,我的页面上没有任何Tridion控制按钮。如果我试图创建一个,这是不允许的。请帮助UI通过JavaScript框架工作,因此您必须使用Tridion控件按钮,或者您必须找到某种方法将您的按钮连接到JavaScript。我的问题与[.我遵循了你的步骤,但我遇到了错误。我如何使用我的asp按钮作为tridion控件按钮。确定意味着我需要遵循相同的步骤。但我如何删除错误,例如:不支持依赖项。你无法将自己的控件连接到JavaScript,只需使用
c:button
就像在Link.aspx中完成的那样,我已经更新了我的另一个答案,以包含有关如何在JavaScript中使用Tridion控件的更多信息。至于你的错误,我不知道你有什么代码,所以我无法解决(我的水晶球目前没有提供答案;o)正如你说的,我无法解决
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://www.sdltridion.com/web/ui/controls">
<head runat="server">
<title></title>
<cc:tridionmanager runat="server" editor="ExampleEditor" isstandaloneview="true">
<dependencies runat="server">
<dependency runat="server">Tridion.Web.UI.Editors.CME</dependency>
<dependency runat="server">Tridion.Web.UI.Editors.CME.Controls</dependency>
</dependencies>
</cc:tridionmanager>
</head>
<div>
<asp:TextBox ID="txttags" runat="server" Width="800px" ></asp:TextBox>
<asp:Button ID="btnsubmit" runat="server" Text="Submit" onclick="btnsubmit_Click" />
<c:button id="InsertButton" runat="server" class="customButton greybutton" label="Insert" />
</div>
protected void btnsubmit_Click(object sender, EventArgs e)
{
txttags.Text = "anyvalue.";
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tridion.ContentManager.CoreService.Client;
using System.Xml.Linq;
using System.Xml;
namespace Somename
{
public partial class Classname
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ddSelectOption_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbPublication_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbPubFolders_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbComponent_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void lbComponentTemplate_SelectedIndexChanged(object sender, EventArgs e)
{
}