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

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Разные Title и заголовки в K2
« : 16.02.2018, 16:14:00 »
Joomla 3 использую К2. Как прописать разные Title и Заголовки материала?
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #1 : 16.02.2018, 19:28:06 »
Кастылём через доп поля.
Создаёте группу доп.полей
Привязываете группу к разделу
Создаёте доп полк с алиасом, например, pagetitle
В шаблоне вывода материала пишете:
Код
$pagetitle= $this->item->extraFields->pagetitle->value;
$document = JFactory::getDocument();
$document->setTitle($pagetitle);

Либо ищете плагин, который будет корректно работать с К2.
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Re: Разные Title и заголовки в K2
« Ответ #2 : 17.02.2018, 09:34:57 »
Я бы вам посоветовал использовать компонент EFSEO - Easy Frontend SEO. Отличная вещь!
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #3 : 17.02.2018, 19:58:00 »
Цитировать
Кастылём через доп поля.
Создаёте группу доп.полей
Привязываете группу к разделу
Создаёте доп полк с алиасом, например, pagetitle
В шаблоне вывода материала пишете:
Код
$pagetitle= $this->item->extraFields->pagetitle->value;
$document = JFactory::getDocument();
$document->setTitle($pagetitle);

Либо ищете плагин, который будет корректно работать с К2.
нашел вот такую статью http://joomtemp.ru/index.php/voprosy/40-kak-sdelat-proizvolnye-title-v-komponente-k2-joomla-v-zapisyakh-i-kategoriyakh, здесь также предлагают сделать, но используют код:
Код
php
// получаем дополнительные поля материала K2
$extrafields = array();
foreach($this->item->extra_fields as $item)
{
$extrafields[$item->id] = $item->value;
}
$document = & JFactory::getDocument();
$config = & JFactory::getConfig();
if ($extrafields[1]) {
$curtitle = $extrafields[1];
} else {
$curtitle = $document->title;
}
$document->setTitle( $curtitle );
в принципе так и сделал, и записал код в item.php, но все равно не отображается Title.

Я же правильно понял, этот код можно вставлять в любом месте в item.php?
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #4 : 17.02.2018, 20:01:15 »
Я бы вам посоветовал использовать компонент EFSEO - Easy Frontend SEO. Отличная вещь!
Если с доп полями не выйдет, вероятно придется его использовать.
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #5 : 19.02.2018, 15:32:54 »
Код
$pagetitle= $this->item->extraFields->pagetitle->value;
var_dump($pagetitle);
Что вернёт?
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #6 : 19.02.2018, 18:33:02 »
Код
$pagetitle= $this->item->extraFields->pagetitle->value;
var_dump($pagetitle);
Что вернёт?
php владею на уровне «скопировал вставил»

если можно, напишите что да как
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #7 : 19.02.2018, 20:08:14 »
Скопируйте то что я написал и вставте куда-нибудь в шаблон, а потом посмотрите, что выйдет во фронте, что-то мне подсказывает, что вы неправильно настроили свой к2 и придёт пустая строка
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #8 : 19.02.2018, 23:36:56 »
Скопируйте то что я написал и вставте куда-нибудь в шаблон, а потом посмотрите, что выйдет во фронте, что-то мне подсказывает, что вы неправильно настроили свой к2 и придёт пустая строка
выдало NULL
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #9 : 20.02.2018, 00:06:51 »
вроде все правильно делаю.

1. Создаю  доп поле в группе доп полей http://prntscr.com/ih1iee
2. Привязываю группу доп полей к категории http://prntscr.com/ih1j28
3. Прописываю в материале доп поле http://prntscr.com/ih1jic
4. В папке шаблон->html->com_k2->templates->default в файле item.php пишу код
Код
<?php
$pagetitle= $this->item->extraFields->pagetitle->value;
$document = JFactory::getDocument();
$document->setTitle($pagetitle);
?>


<?php
$pagetitle= $this->item->extraFields->pagetitle->value;
var_dump($pagetitle);
?>

В результате ответ NULL.
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #10 : 20.02.2018, 00:07:24 »
Значит неправильно сделали что-то
Группу доп полей создали?
Полю алиас какой задали?
Группу к разделу привязали?
В материале поле заполнили?
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #11 : 20.02.2018, 00:10:50 »
А если в var_dump вставить $this->item
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #12 : 20.02.2018, 13:02:32 »
Значит неправильно сделали что-то
Группу доп полей создали?
Полю алиас какой задали?
Группу к разделу привязали?
В материале поле заполнили?
я же выше, все со скринами приложил. все пункты выполнил.
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #13 : 20.02.2018, 13:03:29 »
А если в var_dump вставить $this->item

Выводит object(stdClass)#419 (62) { ["id"]=> string(3) "685" ["title"]=> string(50) "График XAUUSD | Курс золота (gold)" ["alias"]=> string(4) "gold" ["catid"]=> string(3) "104" ["published"]=> string(1) "1" ["introtext"]=> string(0) "" ["fulltext"]=> string(4337) "

, где График XAUUSD | Курс золота (gold) - название статьи
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #14 : 20.02.2018, 13:10:28 »
В настройках категории включите http://joxi.ru/KAgXBMEigB3enr
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #15 : 20.02.2018, 13:21:17 »
Ваш вариант кода работает. Так же можно прописать код
Код
<?php
// получаем дополнительные поля материала K2
$extrafields = array();
foreach($this->item->extra_fields as $item)
{
$extrafields[$item->id] = $item->value;
}
$document = & JFactory::getDocument();
$config = & JFactory::getConfig();
if ($extrafields[31]) {
$curtitle = $extrafields[31];
} else {
$curtitle = $document->title;
}
$document->setTitle( $curtitle );
?>
заработал.

В $extrafields[31], нужно указывать id дополнительного поля.

Наверное на этом все. Добился результата, хотя и придется додумывать.

Спасибо за помощь.
« Последнее редактирование: 20.02.2018, 13:38:54 от kilnart »
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #16 : 20.02.2018, 13:33:20 »
В настройках категории включите http://joxi.ru/KAgXBMEigB3enr


Теперь новая головная боль. В статье выводится имя дополнительного поля (http://prntscr.com/ih9e63).

Какие варианты чтобы этого не было? К примеру, не выводить поле с id таким то? Или это не вариант?
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #17 : 20.02.2018, 13:39:21 »
В шаблоне материала, внутри цыкла
Код
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
есть условие
Код
<?php if($extraField->value != ''): ?>
Замените его на
Код
<?php if($extraField->value != '' || $extraField->id === ВАШ_ИД): ?>
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #18 : 20.02.2018, 13:47:49 »
В шаблоне материала, внутри цыкла
Код
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
есть условие
Код
<?php if($extraField->value != ''): ?>
Замените его на
Код
<?php if($extraField->value != '' || $extraField->id === ВАШ_ИД): ?>
все равно выводит
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #19 : 20.02.2018, 13:56:00 »
все равно выводит
Ошибочка
|| замените &&
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #20 : 20.02.2018, 14:12:30 »
Ошибочка
|| замените &&
Строчка с названием дополнительного поля исчезла, а вот название блока «Additional Info» осталось.
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Разные Title и заголовки в K2
« Ответ #21 : 20.02.2018, 14:13:55 »
А она вам вообще нужна где-то будет? Если нет - просто удалите в шаблоне
Код
<h3><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h3>
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #22 : 20.02.2018, 14:16:16 »
А она вам вообще нужна где-то будет? Если нет - просто удалите в шаблоне
Код
<h3><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h3>
Возможно пригодится. Сделал по другому. Прописал код
Код
<?php if($extraField->value != '' && $extraField->id === 31): ?>
перед созданием
Код
<h3><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h3>
Теперь, как я понимаю, происходит сразу проверка пустое поле или нет и содержит ли id 31. Если условие выполнено, тогда начинает создаваться блок с дополнительными полями.
Правильно я понимаю?


Даже вот так сделал:

Код
<?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ?>
  <!-- Item extra fields -->
      <?php if($extraField->id === 31): ?>
  <div class="itemExtraFields">
  <h3><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h3>
  <ul>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<?php if($extraField->type == 'header'): ?>
<h4 class="itemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
<?php else: ?>
<span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
<span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
    <div class="clr"></div>
  </div>
      <?php endif; ?>
  <?php endif; ?>
*

Voronov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #23 : 20.02.2018, 16:59:38 »
Добрый день люди добрые. У меня аналогичная проблема, прошу помощи. Сразу скажу в php не силён.
Мне надо вставить текстовое поле вверху страницы категории.
Зашел в свой шаблон .../html/com_k2/project, в файл item.php вставил этот код:
Код
<?php
$Opisanie= $this->item->extraFields->Opisanie->value;
$document = JFactory::getDocument();
$document->setTitle($Opisanie);
?>

<?php
$Opisanie= $this->item->extraFields->Opisanie->value;
var_dump($Opisanie);
?>
после этого кода:
Код
<?php
/**
 * @version 2.6.x
 * @package K2
 * @author JoomlaWorks http://www.joomlaworks.net
 * [member=126442]copyright[/member] Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;
$extrafields = array();
foreach($this->item->extra_fields as $item)
{   
$extrafields[$item->10] = $item->value;
}
?>

в котором прописал id - 10, все кнопки в настройках категории включающие доп.поля включил.
И ничего...
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #24 : 20.02.2018, 17:23:00 »
На самом деле, вот здесь ( Разные Title и заголовки в K2) я по пунктам описал что нужно сделать. У меня не работало только потому, что в настойках категории отключил показ дополнительных полей.
*

Voronov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #25 : 20.02.2018, 17:28:25 »
У вас был вопрос с заголовком Материала, а у меня с Категорией, есть ли какая то принципиальная разница?
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #26 : 20.02.2018, 17:33:16 »
Тогда неправильно. Вы правите item.php, это шаблон для статьи, а для категории вроде category.php или category_item.php.

Кстати, текст можно прям в шаблон вписать, если он не должен изменяться.
*

Voronov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #27 : 20.02.2018, 17:56:21 »
Спасибо, что указали в какую сторону двигаться. Только вопросов ещё больше стало.
Не в этой папке случайно этот файл: .../html/mod_k2_tools
Есть ещё суб-шаблон, который привязан через модуль, может в нём что-то надо менять?
*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #28 : 20.02.2018, 17:58:57 »
Шаблон категории должен быть по адресу /ВАШ САЙТ/public_html/templates/название шаблона/html/com_k2/.

В моем случае есть еще внутренняя папка templates/default. Здесь лежат описанные выше файлы.
Для изменения шаблона категории, править нужно их.
*

Voronov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Разные Title и заголовки в K2
« Ответ #29 : 20.02.2018, 18:12:18 »
По пути: /ВАШ САЙТ/public_html/templates/название шаблона/html/com_k2/project. у меня кроме файла item.php больше нет ничего.
project это шаблон материала. может шаблон категории искать в другом месте?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить дополнительным полям K2 разные классы?

Автор Slava77

Ответов: 3
Просмотров: 1169
Последний ответ 06.06.2021, 22:36:00
от sivers
k2 ф материале не отображаются ссылки и заголовки

Автор akek

Ответов: 0
Просмотров: 148
Последний ответ 24.02.2021, 11:20:17
от akek
K2 свой title для каждой страницы

Автор anna9494

Ответов: 19
Просмотров: 2944
Последний ответ 27.06.2020, 15:16:59
от TYMON
JA K2 Filter and Search Module и разные шаблоны для items

Автор Abez

Ответов: 0
Просмотров: 456
Последний ответ 24.02.2020, 11:43:10
от Abez
[Решено] Свой title для категории k2

Автор lgmax

Ответов: 1
Просмотров: 544
Последний ответ 09.10.2019, 19:06:32
от lgmax