Форум русской поддержки Joomla!® CMS
03.12.2016, 15:35:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

K2 свой title для каждой страницы

 (Прочитано 459 раз)
0 Пользователей и 1 Гость смотрят эту тему.
anna9494
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« : 06.10.2015, 16:18:14 »

Заранее прошу прощение, что эта тема уже обсуждалась. Есть сайт с использованием К2 (около ста категорий К2 и свыше 20 000 материалов К2). Стандартно Joomla выводит титул веб-страницы с нужным материалом, как:
<title>имя материала в заданной категории</title>
Каким понятным образом можно добиться результата, как на рисунке без использования плагинов аля EFSEO - Easy Frontend SEO (непростым для новичков) и создания экстраполей К2 ?



Название сайта вставить не проблема, через - System - Global Configuration - Site name - Include Site Name in Page Titles (After)
Но как добавить статический произвольный текст? Можно конечно дописать в System...Site name не только название сайта, но это Неправильно. Может кто-то уже правил шаблоны и поделится решением? Заранее спасибо Azn
В идеале хотелось бы, что бы для каждой категории было свое титл описание, как показано на рисунке примере.
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #1 : 06.10.2015, 16:28:27 »

Само название страницы формируется в файле view.html.php.php (/components/com_k2/views/item)
Строка: 456
Код:
$document->setTitle($params->get('page_title'));
Все те данные которые тебе надо можно получить в этом же файле...
Хочешь что бы получилось так же как и на картинках...

С первым и третьим все понятно ну а с <Extra Field Text> от куда будешь брать?
Записан
Grigory S.
Завсегдатай
*****

Репутация: +68/-0
Offline Offline

Пол: Мужской
Сообщений: 685


(с)


« Ответ #2 : 06.10.2015, 16:28:59 »

Можно попробовать в шаблоне категории добавить

Код
$doc = JFactory::getDocument();
$doc->setTitle('Нужный текст');

или если на странице не выводиться описание категории, то использовать его


Код
$title = $this->category->description;
$doc = JFactory::getDocument();
$doc->setTitle($title);
Записан
anna9494
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #3 : 06.10.2015, 17:18:34 »

Само название страницы формируется в файле view.html.php.php (/components/com_k2/views/item)
Строка: 456
Код:
$document->setTitle($params->get('page_title'));
Все те данные которые тебе надо можно получить в этом же файле...
Хочешь что бы получилось так же как и на картинках...

С первым и третьим все понятно ну а с <Extra Field Text> от куда будешь брать?
Поле <Extra Field Text> можно брать, как описывается в примере.
http://joomtemp.ru/index.php/voprosy/40-kak-sdelat-proizvolnye-title-v-komponente-k2-joomla-v-zapisyakh-i-kategoriyakh
Записан
anna9494
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #4 : 06.10.2015, 17:24:11 »

Можно попробовать в шаблоне категории добавить

Код
$doc = JFactory::getDocument();
$doc->setTitle('Нужный текст');

или если на странице не выводиться описание категории, то использовать его


Код
$title = $this->category->description;
$doc = JFactory::getDocument();
$doc->setTitle($title);

Не совсем поняла, шаблон этот?
\www\components\com_k2\templates\default\category_item.php.php ?
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #5 : 06.10.2015, 17:43:07 »

Поле <Extra Field Text> можно брать, как описывается в примере.

Немного переделал.
Код:
$sitename = JFactory::getConfig()->get('sitename');
$value = $item->extra_fields[0]->value;
if($value != "")
{
$setTitle = $item->title.' -'.$value.' - '.$sitename;
}
else
{
$setTitle = $item->title.' - '.$sitename;
}
 
$document->setTitle($setTitle);

Вместо 0 укажи id доп. поля.
Записан
anna9494
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #6 : 06.10.2015, 23:46:23 »

В общем у Joomla беда с персональным title для каждой страницы и остается уповать только на K2 3.0 с надеждой что там добавят все таки поле Metadata Information - Page Title
Записан
Grigory S.
Завсегдатай
*****

Репутация: +68/-0
Offline Offline

Пол: Мужской
Сообщений: 685


(с)


« Ответ #7 : 07.10.2015, 01:00:26 »

В общем у Joomla беда с персональным title для каждой страницы и остается уповать только на K2 3.0 с надеждой что там добавят все таки поле Metadata Information - Page Title

Joomla тут не при чем. В файл components/com_k2/templates/default/item.php после

Код
defined('_JEXEC') or die;

добавьте

Код
JFactory::getDocument()->setTitle('<' . $this->item->title . '> <' . $this->item->extraFields->FILEDALIAS->value . '> <' . JUri::base(). '>');

FILEDALIAS замените на нужное вам поле.
Записан
anna9494
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #8 : 07.10.2015, 09:08:28 »

Joomla тут не при чем. В файл components/com_k2/templates/default/item.php после

Код
defined('_JEXEC') or die;

добавьте

Код
JFactory::getDocument()->setTitle('<' . $this->item->title . '> <' . $this->item->extraFields->FILEDALIAS->value . '> <' . JUri::base(). '>');

FILEDALIAS замените на нужное вам поле.
Супер! Спасибо большое все работает Azn Просто и элегантно!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet