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


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

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

#11 tchudov

tchudov

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

Спасибо огромное, а meta description как вытащить?


  • 0

#12 Sliapy

Sliapy

Отправлено 13 March 2014 - 21:54

Тайтл лучше все-таки делать так 

$oggtitle = addslashes(htmlspecialchars(strip_tags($item->name)));
$document->addCustomTag('<meta property="og:title" content="'.$oggtitle.'" />');

Чтобы не было проблем со всякими апострофами, кавычками и т.д.

 

Description делается так же, как я описывал title. Поменяйте позицию на ту, которую в которой Вы выводите описание товара. Или добавьте отдельное текстовое поле для этого.

 

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

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

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

#13 tchudov

tchudov

Отправлено 14 March 2014 - 06:30

Я всегда заполняю служебное поле:

 

Мета-тег Description
 

Хотел использовать данные из него.

 

И ещё одно, при использовании кода для картинки:

 

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="http://discoverportugal.ru/cache/com_zoo/images/festival-shokolada-big-teaser_9b0b077921202988595ffd6332fda91f.jpg" width="247" height="150" />


Сообщение отредактировал tchudov: 14 March 2014 - 06:35

  • 0

#14 tchudov

tchudov

Отправлено 15 March 2014 - 07:20

up


  • 0

#15 SmetDenis

SmetDenis

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

Он подцепляет лишнее:

Добрый день.

Попробуйте так.
$path = $item->getElement('55b6a7bb-0a12-4858-bad3-5cf42a82cf7b')->get('file');
$document->addCustomTag('<meta property="og:image" content="'.JUrl::root(). trim($path, '/\\').'" />');

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



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


#16 tchudov

tchudov

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

Добрый день.

Попробуйте так.

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

У меня белый экран при добавлении этих строк в шаблон (


  • 0

#17 SmetDenis

SmetDenis

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

Включите вывод ошибок. Покажите сообщение. Покажите код всего файла.
Извините не умеют телепатировать =(
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#18 tchudov

tchudov

Отправлено 16 March 2014 - 12:43

Notice: Undefined variable: document in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 14

Fatal error: Call to a member function addCustomTag() on a non-object in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 14

<?php
/**
 * JBZoo is universal CCK based Joomla! CMS and YooTheme Zoo component
 * @category   JBZoo
 * @author     smet.denis <admin@joomla-book.ru>
 * @copyright  Copyright (c) 2009-2012, Joomla-book.ru
 * @license    http://joomla-book.ru/info/disclaimer
 * @link       http://joomla-book.ru/projects/jbzoo JBZoo project page
 */
defined('_JEXEC') or die('Restricted access');


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

14 строка: $document->addCustomTag('<meta property="og:image" content="'.JUrl::root(). trim($path, '/\\').'" />');


  • 0

#19 Cheren-dow

Cheren-dow

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

tchudov, я не вижу что бы вы инициализировали $document, сначала получаем объект

$document =& JFactory::getDocument(); 

А потом уже с ним что то делаем. Посмотрите документацию Joomla


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

#20 tchudov

tchudov

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

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

Notice: Undefined variable: document in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 15

Fatal error: Call to a member function addCustomTag() on a non-object in /home/t/tchudo/dp/public_html/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/page-copy/full.php on line 15

 

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


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

  • 0




Click to return to top of page in style!