Sitecore (социальный коннектор sitecore) - невозможно настроить контент, размещенный на facebook / twitter - PullRequest
0 голосов
/ 20 декабря 2011

Я недавно установил модуль социального коннектора sitecore и разместил на странице твит и кнопки «Мне нравится», но, похоже, я не могу контролировать содержимое, отправляемое в twitter / facebook.Кнопка твит отправляет заголовок страницы в виде текста для твита, и я хотел бы переопределить это.

Похоже, что ссылка в Facebook не помогает.Если я вернусь на ту же страницу, она по-прежнему показывает 1 лайк, но на моей странице в Facebook ничего не появилось.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

Я декомпилировал CodeBehind для подслоя Tweet, и он имеет это для кода:

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 - отличный бесплатный.,Вы можете сделать то же самое для другой функции, просто декомпилировать и пересобрать локальный проект с изменениями.

Обновление : просто чтобы уточнить, вам нужно декомпилироватьтекущий C # в DLL, чтобы внести изменения в него.Вы можете перекомпилировать в отдельный проект, вам просто нужно изменить Inherits="" во внешнем интерфейсе элемента управления, например

Вместо этого:

Inherits="Sitecore.Social.Sharing.Controls.TweetButton"

Сделайте что-нибудькак это:

Inherits="MyProject.Sharing.Controls.TweetButton"
0 голосов
/ 07 декабря 2014

Извиняюсь за очень поздний ответ.Я не осознавал, что кто-то спросил меня об ответе.

В конце концов, мне было проще использовать стандартные элементы управления Twitter / Facebook.С тех пор я узнал, что, хотя в Sitecore есть несколько полезных модулей для обработки операций CMS, на стороне доставки контента часто проще использовать любую веб-технологию, которую проще всего реализовать.

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

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

...