Sitecore(sitecore社交连接器) - 无法自定义发布到facebook / twitter的内容

时间:2011-12-20 07:16:58

标签: sitecore sitecore-social-connected

我最近安装了sitecore社交连接器模块,我在页面上放了推文和类似按钮,但我似乎无法控制发送到twitter / facebook的内容。推文按钮将页面标题作为要发布的文本发送,我想覆盖它。

facebook like链接似乎没有做任何事情。如果我回到同一页面,它仍会显示1,但我的脸书页面上没有任何内容。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我已经针对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"

答案 1 :(得分:0)

很晚才回复道歉。我没有意识到有人要我回复。

最后,我发现使用标准的Twitter / Facebook控件更容易。我已经了解到,尽管Sitecore有一些用于处理CMS操作的有用模块,但在Content Delivery方面通常更容易使用最容易实现的任何Web技术。

https://dev.twitter.com/web/tweet-button

https://developers.facebook.com/docs/plugins/share-button?locale=en_GB