Jump to content


Photo
- - - - -

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


Best Answer 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.'" />');
Go to the full post


  • This topic is locked This topic is locked
28 replies to this topic

#21 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 16 March 2014 - 19:06

$document =& JFactory::getDocument();

Должно быть выше чем

$document->addCustomTag('');
 
  • 1
Изображение
 

#22 tchudov

tchudov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 158
  • topics: 27

Posted 16 March 2014 - 19:10

13 $path = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->get('file');
14 $document =& JFactory::getDocument(); 
15 $document->addCustomTag('<meta property="og:image" content="'.JUrl::root(). trim($path, '/\\').'" />');

Strict Standards: Only variables should be assigned by reference in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 14

Fatal error: Class 'JUrl' not found in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 15

13 $document =& JFactory::getDocument(); 
14 $path = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->get('file');
15 $document->addCustomTag('<meta property="og:image" content="'.JUrl::root(). trim($path, '/\\').'" />');

Strict Standards: Only variables should be assigned by reference in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 13

Fatal error: Class 'JUrl' not found in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 15


  • 0

#23 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 16 March 2014 - 21:20

Класса JUrl на сколько мне известно в Joomla нет, есть JUri поэтому нужно использовать JUri::root()

 

Strict Standards: Only variables should be assigned by reference in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 14

 

Уберите амперсанд после равно и попробуйте использовать

$document = JFactory::getDocument(); 

Edited by Cheren-dow, 16 March 2014 - 21:21.

  • 1
Изображение
 

#24 tchudov

tchudov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 158
  • topics: 27

Posted 16 March 2014 - 21:55

Спасибо за помощь!

 

Сейчас код выглядит так:

$path = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->get('file');
$document = JFactory::getDocument(); 
$document->addCustomTag('<meta property="og:image" content="'.JUri::root(). trim($path, '/\\').'" />');

$document->addCustomTag('<meta property="og:type" content="website" />');
$oggtitle = addslashes(htmlspecialchars(strip_tags($item->name)));
$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.'" />');

Показывает в HTML:

<meta property="og:image" content="http://discoverportugal.ru/images/articles/article-big-teaser/festival-shokolada-big-teaser.jpg" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Фестиваль шоколада в Обидуш" />
<meta property="og:url" content="http://discoverportugal.ru/prazdniki-portugalii/festival-shokolada-v-obidush" />

Теперь с этими частями понятно и смогу подогнать для других типов материалов на сайте.

 

 

С description вопрос так и остался открытым. Как правильно туда вставить текст из стандартного для ZOO Мета-тег Description я без понятия. В php я не силён, могу только как макака модифицировать по примерам, если понимаю логику.

 

Буду благодарен за дальнейшую помощь.


Edited by tchudov, 16 March 2014 - 22:11.

  • 0

#25 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 17 March 2014 - 16:10

$desc = $item->params->get('metadata.description');
$document->addCustomTag('<meta property="og:description" content="'.$desc.'" />');

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



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


#26 tchudov

tchudov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 158
  • topics: 27

Posted 17 March 2014 - 16:23

Parse error: syntax error, unexpected '$document' (T_VARIABLE) in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 23

13 $path = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->get('file');
14 $document = JFactory::getDocument(); 
15 $document->addCustomTag('<meta property="og:image" content="'.JUri::root(). trim($path, '/\\').'" />');
16 
17 $document->addCustomTag('<meta property="og:type" content="website" />');
18 $oggtitle = addslashes(htmlspecialchars(strip_tags($item->name)));
19 $document->addCustomTag('<meta property="og:title" content="'.$oggtitle.'" />');
20 $ogglink = JRoute::_($this->app->route->item($this->_item, false), true, -1);
21 $document->addCustomTag('<meta property="og:url" content="'.$ogglink.'" />');
22 $desc = $item->params->get('metadata.description')
23 $document->addCustomTag('<meta property="og:description" content="'.$desc.'" />');

  • 0

#27 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 17 March 2014 - 16:49

tchudov, посмотрите на 22 строку вы не поставили знак ;

из - за этого ошибка


Edited by Cheren-dow, 17 March 2014 - 16:50.

  • 1
Изображение
 

#28 tchudov

tchudov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 158
  • topics: 27

Posted 17 March 2014 - 17:23

Спасибо! Не знаю, почему так получилось, я просто копировал. )))


  • 0

#29 tchudov

tchudov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 158
  • topics: 27

Posted 17 March 2014 - 17:33   Best Answer

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

 

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

// 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.'" />');

  • 0




Click to return to top of page in style!