我最近安装了 sitecore 社交连接器模块,并在页面上放置了推文和点赞按钮,但我似乎无法控制发送到 twitter/facebook 的内容。推文按钮将页面标题作为要发布的文本发送,我想覆盖它。
facebook like 链接似乎没有任何作用。如果我回到同一页面,它仍然显示 1 个赞,但我的 Facebook 页面上没有出现任何内容。
任何帮助将不胜感激。
我最近安装了 sitecore 社交连接器模块,并在页面上放置了推文和点赞按钮,但我似乎无法控制发送到 twitter/facebook 的内容。推文按钮将页面标题作为要发布的文本发送,我想覆盖它。
facebook like 链接似乎没有任何作用。如果我回到同一页面,它仍然显示 1 个赞,但我的 Facebook 页面上没有出现任何内容。
任何帮助将不胜感激。
我已经为 Tweet 子布局反编译了 CodeBehind,它有以下代码:
protected void Page_Load(object sender, EventArgs e)
{
string text = "var xmlhttp;if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");}xmlhttp.open(\"GET\",url,true);xmlhttp.send();";
string script = string.Format("<script>twttr.events.bind('tweet', function (event) {{var url = '{2}?itemid={1}&eventname={3}&buttontype=tweet';{4}}});</script>", new object[]
{
Sitecore.Context.User.Name.Replace('\\', '.'),
Sitecore.Context.Item.ID.ToString(),
"/layouts/system/Social/SocialEvents.aspx",
base.EventName,
text
});
this.Page.RegisterStartupScript("tweetsubscribe", script);
}
如果要更改它,则需要反编译Sitecore.Social.dll
包中的内容。解压缩包并打开files
文件夹,DLL 将位于/bin/
.
如果您没有反编译器,ILSpy是一款很棒的免费反编译器。您可以对其他功能执行相同的操作,只需在本地项目中进行反编译并重新构建并进行更改。
更新:为了澄清,您需要反编译 DLL 中的当前 C# 以对其进行更改。你可以重新编译成一个单独的项目,你只需要Inherits=""
在控件的前端更改,例如
而不是这个:
Inherits="Sitecore.Social.Sharing.Controls.TweetButton"
做这样的事情:
Inherits="MyProject.Sharing.Controls.TweetButton"
很抱歉回复太晚了。我没有意识到有人要求我回复。
最后,我发现只使用标准的 Twitter/Facebook 控件更容易。从那以后我了解到,虽然 Sitecore 有一些有用的模块来处理 CMS 操作,但在内容交付方面通常更容易使用最容易实现的任何 Web 技术。
https://dev.twitter.com/web/tweet-button
https://developers.facebook.com/docs/plugins/share-button?locale=en_GB