Sitecore (социальный соединитель sitecore) - невозможно настроить контент, размещенный на facebook/twitter
Я недавно установил модуль социального коннектора sitecore и разместил на странице твит и кнопки "Мне нравится", но я не могу контролировать содержимое, которое отправляет в твиттер / фейсбук. Кнопка твит отправляет заголовок страницы в виде текста для твита, и я хотел бы переопределить это.
Ссылка в Facebook, похоже, ничего не делает. Если я вернусь на ту же страницу, она по-прежнему показывает 1 лайк, но на моей странице в Facebook ничего не появилось.
Любая помощь будет принята с благодарностью.
2 ответа
Извиняюсь за очень поздний ответ. Я не понимал, что кто-то спросил меня об ответе.
В конце концов, мне было проще использовать стандартные элементы управления Twitter/Facebook. С тех пор я узнал, что, хотя у Sitecore есть несколько полезных модулей для обработки операций CMS, на стороне доставки контента часто проще использовать любую веб-технологию, которую проще всего реализовать.
https://dev.twitter.com/web/tweet-button
https://developers.facebook.com/docs/plugins/share-button?locale=en_GB
Я декомпилировал 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"