0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 2175 Просмотров
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
Приветствую.

Возникла проблема добавления дополнительных мета-тегов к статьям. У меня мета-тегов много: Dublin Core, Open Graph, некоторые микроформаты тоже как мета добавляю. Для обычных статей Joomla я использовал замечательный плагин JosTag: он по синтаксису {tag}meta name="tagname" content="tagcontent"{/tag} добавляет любые тегы в head статьи. Но с К2 работать отказался. В коде только сама строка кода стоит, а в head ничего не пишется:(
Вот и вопрос: как добавить дополнительные теги в голову К2-статьи?
И, кстати, я плагин этот, JosTag, привешу сюда - может быть, для настоящих самураев это раз мечом взмахнуть, чтоб он и с К2 заработал? Вот круто было бы вообще!
спасибо

[вложение удалено Администратором]
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
спасибо, чтобы мне помог ваш совет, надо будет ещё с несколькими вещами хорошо разобраться...

скажите, пожалуйста: я не прав, думая, что скорее нужно в плагин добавить условие, когда он срабатывает? Там есть вот такие строки:
Код
// perform the replacement
if ($context = 'com_content.article') {
$article->text = preg_replace_callback($regex, array(&$this,'plgJosTag_replacer'), $article->text );
return true;
}
и я думал, что надо либо добавить что-то в условие if ($context = 'com_content.article'), либо дописать ещё одно условие дл того, чтобы плагин мог знать, как ему на К2 реагировать...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
var_dump($context ); //посмотрите, что здесь com_k2.article ?
if ($context = 'com_content.article' || $context = 'com_k2.article'){
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
Большое спасибо! таки помогла первая ссылочка. Плагин работает. Надо сперва взять евент из JosTag, когда он стреляет, и его вставит в шаблон. А потом воспользоваться советом номер один. Вот только одна мелочишка осталася досадная чрезвычайно, из-за дичайшего незнания синтаксиса:
вот так работает:
Код
<?php echo JHTML::_('content.prepare', '{tag}meta name="author" content="wowa"{/tag}'); ?>
а вот так не работает:(
Код
<?php echo JHTML::_('content.prepare', '{tag}meta name="author" content=" echo $extrafields['44']; "{/tag}'); ?>

Думаю, дело в том, что плагин фильтрует входные данные, вот так:
Код
		// strip out unwanted HTML elements
$html_entities_match = array("|\<br \/\>|", "#<#", "#>#", "|&#39;|", '#&quot;#', '#&nbsp;#' );
$html_entities_replace = array("\n", '', '', "'", '"', ' ' );
$tag = preg_replace($html_entities_match, $html_entities_replace, $tag );
$tag = str_replace("\t", '  ', $tag);
$tag = str_replace("&lt;", '<', $tag);
$tag = str_replace("&gt;", '>', $tag);

А как быть - не знаю...:(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
не, вот так делается:   
Код
<meta name="author" content=""/>
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
прости, не понял. строка
Код
<?php echo JHTML::_('content.prepare', '{tag}meta name="author" content="test"{/tag}'); ?>
работает по любому, я вроде писал, да? А вот что с var_dump($extrafields['44']); делать - совсем не понял... если так вставляю - то пустой сайт, ошибка, если в <?php var_dump($extrafields['44']); ?> то выдаёт во фронтенде NULL.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
у тебя в массиве $extrafields['44'] NULL. Ничего нет Соответственно
<?php echo JHTML::_('content.prepare', '{tag}meta name="author" content="'.$extrafields['44'].'"{/tag}'); ?>
выведет
<meta name="author" content=""/>
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
а вот и нет, я проверил первым делом - есть в этом поле значение! я и дальше проверил: какое бы поле (заполненное или нет) var_dump не смотрел - везде NULL. а поля-то заполнены 100% - фронтенд значения показывает:(
« Последнее редактирование: 14.01.2013, 20:37:16 от chilly_bang »
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
надо вместо $extrafields['46'] вот так делать:
Код
<?php echo JHTML::_('content.prepare', '{tag}meta name="таг" content="'.$this->item->extraFields->алиас_имени_доп_поля->value.'"{/tag}'); ?>]<?php echo JHTML::_('content.prepare', '{tag}meta name="tagname" content="'.$this->item->extraFields->your_extra_field_alias->value.'"{/tag}'); ?>
и работает на ура!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить свой класс для страниц вывода материалов по тегу k2?

Автор Slava77

Ответов: 0
Просмотров: 2684
Последний ответ 16.02.2023, 23:29:34
от Slava77
Как добавить дополнительным полям K2 разные классы?

Автор Slava77

Ответов: 3
Просмотров: 1811
Последний ответ 06.06.2021, 22:36:00
от sivers
Можно ли безболезненно добавить загрузку еще одной миниатюры, изображения?

Автор designerandrey

Ответов: 0
Просмотров: 1210
Последний ответ 16.04.2019, 20:22:13
от designerandrey
Falang дополнительные поля К2

Автор face2005

Ответов: 0
Просмотров: 646
Последний ответ 06.03.2019, 13:01:32
от face2005
Не добавить изображение с сервера в материал. ( обзор на сервере )

Автор Grione

Ответов: 0
Просмотров: 1465
Последний ответ 28.12.2018, 19:06:20
от Grione