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


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

Вывести в og:description в full.php краткое описание из teaser.php?


Лучший Ответ Денн , 13 May 2014 - 15:41

Благодарю, что помогли разобраться

 

Окончательный код, который работает

$oggdescr = $item->getElement('<ID_ЭЛЕМЕНТА>')->render();
$oggdescr = strip_tags($oggdescr); 

$document = JFactory::getDocument();
$document->addCustomTag('<meta property="og:description" content="'.$oggdescr.'" />')
Перейти к сообщению


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

#1 Денн

Денн

Отправлено 10 May 2014 - 16:50

Добрый день, как вывести в шаблон full.php og:title и og:image разобрался. А вот  вывести в шаблоне full.php og:description краткое описание из textarea из teaser.php не удается, точнее не знаю как.


Сообщение отредактировал Денн: 10 May 2014 - 16:54

  • 0

#2 Sliapy

Sliapy

Отправлено 11 May 2014 - 10:11

Посмотрите эту тему - http://forum.jbzoo.c...jbzoo-v-fejsbu/


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

#3 Денн

Денн

Отправлено 13 May 2014 - 10:29

Данную тему смотрел, но решения там не нашел. Проблема в том, что если я вывожу любой элемент из full.php в качестве og: description, то он выводится. Если же я беру элемент из teaser.php и вставляю его в качестве og:description, то не выводится
  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 13 May 2014 - 11:58

Если же я беру элемент из teaser.php и вставляю его в качестве og:description, то не выводится

Что то не совсем понятна суть.... Как из тизера можно на страницу выводить данные? Ведь на странице не один тезер а несколько. В этом случае нужно в шаблоне категории писать данные.


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

#5 Денн

Денн

Отправлено 13 May 2014 - 12:46

Стоит задача выводить в качестве og:description в шаблоне full.php краткое описание из teaser.php

 

Вот кусок кода из full.php, который выводит картинку и тайтл ( сэтим я разобрался)

<?php
$string = $item->getElement('d89ae9fb-54dd-4102-87b8-6d4d9a37110e')->render();
preg_match_all('|src="(.*)"|Uis',$string,$array);
$thumb_img = $array[1][0];
 
$document =& JFactory::getDocument();
 $document->addCustomTag('<meta property="og:image" content="'.$thumb_img.'" />');
 
// og:title - показываем тайтл без всяких спец символов
$oggtitle = addslashes(htmlspecialchars(strip_tags($item->name)));
$document->addCustomTag('<meta property="og:title" content="'.$oggtitle.'" />');
?>

Посредством

$oggdesc = addslashes(htmlspecialchars(strip_tags($item->text)));
$document->addCustomTag('<meta property="og:description" content="'.$oggdescr.'" />'

Я могу вывести полное описание в og:description, или любой другой элемент используемый в full.php (например, подставляя вместо ->text, price) Но не могу то же самое сделать, если нужно вывести краткое описание, используемое в teaser.php.

 

Прошу прощения, знания php у меня не высокие)


Сообщение отредактировал Денн: 13 May 2014 - 12:47

  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 13 May 2014 - 12:53

Денн, если вы создаете краткое описание с помощью элемента ТЕКСТ, вам тогда нужно как и с картинкой, получить данные элемента текст и взять из него само описание.


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

#7 Денн

Денн

Отправлено 13 May 2014 - 13:44

Так я и пытался сделать

$oggdescr = $item->getElement('80603915-8d20-4c19-9a01-9b3ce054dfb5')->render();
$document = JFactory::getDocument();
$document->addCustomTag('<meta property="og:description" content="'.$oggdescr.'" />')

Краткое описание уже выводится, но со спец символами, типа <p>. Наверное, надо что-то типа addslashes, но именно как применить, не знаю


Сообщение отредактировал Денн: 13 May 2014 - 13:47

  • 0

#8 Cheren-dow

Cheren-dow

Отправлено 13 May 2014 - 13:45

Посмотрите php функцию strip_tags()


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

#9 Денн

Денн

Отправлено 13 May 2014 - 15:41   Лучший Ответ

Благодарю, что помогли разобраться

 

Окончательный код, который работает

$oggdescr = $item->getElement('<ID_ЭЛЕМЕНТА>')->render();
$oggdescr = strip_tags($oggdescr); 

$document = JFactory::getDocument();
$document->addCustomTag('<meta property="og:description" content="'.$oggdescr.'" />')

Сообщение отредактировал Cheren-dow: 13 May 2014 - 16:07
поставил метку что используется id элемента

  • 0




Click to return to top of page in style!