0

最近、sitecore ソーシャル コネクタ モジュールをインストールし、ツイートやいいね ボタンをページに配置しましたが、twitter/facebook に送信するコンテンツを制御できないようです。ツイート ボタンは、ページのタイトルをツイートするテキストとして送信します。これをオーバーライドしたいと思います。

Facebookのようなリンクは何もしていないようです。同じページに戻ると、いいねが 1 つ表示されますが、Facebook ページには何も表示されません。

どんな助けでも大歓迎です。

4

2 に答える 2

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"
于 2011-12-20T15:14:31.233 に答える
0

返信が大変遅くなりましたことをお詫び申し上げます。誰かが私に返事を求めてきたことに気づきませんでした。

最終的に、標準の Twitter/Facebook コントロールを使用する方が簡単であることがわかりました。その後、Sitecore には CMS 操作を処理するための便利なモジュールがいくつかありますが、実装が最も簡単な Web テクノロジをそのまま使用する方が、コンテンツ デリバリー側でより簡単であることがよくあることを知りました。

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

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

于 2014-12-07T10:18:09.817 に答える