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


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

Не правильно работает шаринг страниц 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

#21 Cheren-dow

Cheren-dow

Отправлено 16 March 2014 - 19:06

$document =& JFactory::getDocument();

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

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

#22 tchudov

tchudov

Отправлено 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

Отправлено 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(); 

Сообщение отредактировал Cheren-dow: 16 March 2014 - 21:21

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

#24 tchudov

tchudov

Отправлено 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 я не силён, могу только как макака модифицировать по примерам, если понимаю логику.

 

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


Сообщение отредактировал tchudov: 16 March 2014 - 22:11

  • 0

#25 SmetDenis

SmetDenis

Отправлено 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

Отправлено 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

Отправлено 17 March 2014 - 16:49

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

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


Сообщение отредактировал Cheren-dow: 17 March 2014 - 16:50

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

#28 tchudov

tchudov

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

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


  • 0

#29 tchudov

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

  • 0




Click to return to top of page in style!