Перейти к содержимому


Фотография
- - - - -

Не правильно работает шаринг страниц JBZoo в Фейсбук


Лучший Ответ tchudov , 17 March 2014 - 17:33

Всем спасибо! Можно закрывать, так как не знаю под чьим жать "решение вопроса".

 

Всем интересующимся - финальная версия ниже:

// og:image - путь к файлу изображения из элемента
$path = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->get('file');
$document = JFactory::getDocument(); 
$document->addCustomTag('<meta property="og:image" content="'.JUri::root(). trim($path, '/\\').'" />');

// og:type - определяем тип
$document->addCustomTag('<meta property="og:type" content="website" />');

// og:title - показываем тайтл без всяких спец символов
$oggtitle = addslashes(htmlspecialchars(strip_tags($item->name)));
$document->addCustomTag('<meta property="og:title" content="'.$oggtitle.'" />');

// og:url - урл страницы
$ogglink = JRoute::_($this->app->route->item($this->_item, false), true, -1);
$document->addCustomTag('<meta property="og:url" content="'.$ogglink.'" />');

// og:description - og:description - берем описание из стандартного Мета-тег Description
$desc = $item->params->get('metadata.description');
$document->addCustomTag('<meta property="og:description" content="'.$desc.'" />');
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 28

#1 tchudov

tchudov

Отправлено 08 March 2014 - 21:14

Какая то фигня. Дело в том, что при шаринге в ФБ происходит странное, смотрите на скриншоте

 

2.png

 

С другими соцсетями таких проблем нет.

 

Можете поэкспериментировать сами:

 

http://discoverportu...olada-v-obidush

 

Не уверен, что это проблема с Joomla или JBzoo или дело в каких-то настройках. Помогите пожалуйста разобраться в чём дело. Готов на эксперименты )

 

 

  • 0

#2 SmetDenis

SmetDenis

Отправлено 10 March 2014 - 05:40

У вас включена авторизация для этой страницы?

Возможно сайт отключен.

 

Возможно информация из OG закэшировалась роботом Facebook

Попробуйте добавить к ссылке случайную переменную. Например в конце дописать "<ссылка>?test=1" и вставить эту ссылку снова.

 

Вот инструмент для отладки - https://developers.f...om/tools/debug/


  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 tchudov

tchudov

Отправлено 10 March 2014 - 21:41

У вас включена авторизация для этой страницы? Возможно сайт отключен.

нет

Попробуйте добавить к ссылке случайную переменную. Например в конце дописать "<ссылка>?test=1" и вставить эту ссылку снова.

попробовал, не сработало


  • 0

#4 tchudov

tchudov

Отправлено 10 March 2014 - 22:13

Можно попробовать добавить Open Graph, но тут мне будет нужна ваша помощь, чтобы вручную всё это дело не прописывать на каждой странице.

 

Так как я не знаю, как вытянуть некоторые значения, спрошу вас какой код php прописывать, чтобы вставить нужные значения в шаблоне:

 

<meta property="og:url" content="<% вставить урл или урл из тега каноникал %>" />

<meta property="og:type" content="article" />

<meta property="og:title" content="<% вставить title %>" />
<meta property="og:description" content="<% вставить текст описания из элемента textarea (ID элемента) или из meta description %>" />
<meta property="og:image" content="<% можно вставить путь к картинке из элемента ID (JBZoo Image) %>" />


  • 0

#5 Sliapy

Sliapy

Отправлено 10 March 2014 - 22:31

Социальные кнопки от JBZoo уже это делают

 

g4x_200x0.png

 

Можете воспользоваться ими.


  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#6 tchudov

tchudov

Отправлено 10 March 2014 - 23:10

К сожалению, мне они не очень нравятся, особенно то, как они выглядят.

 

Раньше использовал, но заменил на блок от Яндекса. Плюс, я добавляю эти кнопки в категории, чего с соц кнопками от JBZoo я сделать не могу. Хочется иметь кнопки одного стандарта на всем сайте.


  • 0

#7 Sliapy

Sliapy

Отправлено 11 March 2014 - 00:43

В этой теме есть пример того, как добавить изображение - http://forum.jbzoo.c...-meta-facebook/

 

Остальные теги добавляются по аналогии.


Сообщение отредактировал Sliapy: 11 March 2014 - 00:47

  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#8 tchudov

tchudov

Отправлено 13 March 2014 - 20:10

Сделал как в примере по ссылке:

<?php
$string = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->render();
preg_match_all('|\ssrc=[\'"](.*?)[\'"]|Uis',$string,$array);
$thumb_img = $array[1][0];
 
$document =& JFactory::getDocument();
 
$document->addCustomTag('<meta property="og:image" content="'.$thumb_img.'" />');
 
?>

Картинка подцепляется из кеша:

http://discoverportu...2d4af2e07c1.jpg

Это нормально?


  • 0

#9 tchudov

tchudov

Отправлено 13 March 2014 - 20:22

Как переделать для этого, я не разобрался:

<meta property="og:description" content="<% вставить текст описания из элемента textarea (ID элемента) или из meta description %>" />

 

И как вставить сюда, тоже не понял:

<meta property="og:title" content="<% вставить title %>" />

<meta property="og:url" content="<% вставить урл или урл из тега каноникал %>" />


  • 0

#10 Sliapy

Sliapy

Отправлено 13 March 2014 - 20:49

Как-то так. Все текстовые поля добавляются одинаково. На примере Заголовка в позиции title

$oggtitle = JString::trim(strip_tags($this->renderPosition('title'))); // получаем позицию title с обрезанными тегами
$document->addCustomTag('<meta property="og:title" content="'.$oggtitle.'" />'); // добавляем код

Ссылку добавляем так

$ogglink = JRoute::_($this->app->route->item($this->_item, false), true, -1);
$document->addCustomTag('<meta property="og:url" content="'.$ogglink.'" />');

Картинка подцепляется из кеша: http://discoverportu...2d4af2e07c1.jpg Это нормально?

Так и элемент выводит картинку из кэша. 


Сообщение отредактировал Sliapy: 13 March 2014 - 21:14

  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]




Click to return to top of page in style!