Основной курс по Joomla

[Решено] Отдельный title для статьи в k2

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

cmotp10

  • Осваиваюсь на форуме
  • ***
  • 29
  • 2
Уважаемое сообщество, прошу помощи.

Задача. Необходимо, что бы в каждой отдельной статье можно было указывать свой собственный тег TITLE.

Решение с помощью sh404SEF ставить не хочу. Лишняя нагрузка на сервер из за одного только тега мне не нужна.

Решение создавать для каждой статьи пункт меню - слишком грубое. Статей несколько тысяч. Замучаюсь прописывать пункты.

Здесь
Спойлер
[свернуть]
нашел решение, но оно не относится к компоненту k2. Дополнений для k2 автор не писал, но нравится сама идея в виду простоты и не загруженности.

Если у Вас есть решение, как добиться возможности устанавливать отдельно тег title не прибегая к громоздким дополнениям - буду очень рад помощи.

Спасибо.


« Последнее редактирование: 27.01.2013, 23:02:45 от cmotp10 »

*

Rex_One

  • Завсегдатай
  • *****
  • 465
  • 36
« Последнее редактирование: 24.01.2013, 03:27:21 от Rex_One »
Кривизна рук не компенсирует прямизну извилин.

*

cmotp10

  • Осваиваюсь на форуме
  • ***
  • 29
  • 2
Re: Отдельный title для статьи в k2
« Ответ #2 : 24.01.2013, 03:31:32 »
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data

Работает! Rex_One ОГРОМНЕЙШЕЕ вам спасибо! Вы мне очень помогли.

*

Rex_One

  • Завсегдатай
  • *****
  • 465
  • 36
Re: Отдельный title для статьи в k2
« Ответ #3 : 24.01.2013, 03:40:44 »
Только что поставл. На К2 работает
Попробуй
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926
Кривизна рук не компенсирует прямизну извилин.

*

cmotp10

  • Осваиваюсь на форуме
  • ***
  • 29
  • 2
Re: Отдельный title для статьи в k2
« Ответ #4 : 24.01.2013, 03:55:37 »
Rex_One Хочу Вам плюсик поставить, но не найду как, Видимо, как новичок, я несколько ограничен в полномочиях. Как только достугну некоторых высот на форуме, обязательно "плюсану". Вы мне действительно очень помогли. Все работает. Я получил даже  больше функционала, чем хотел и он актуален.

*

chilly_bang

  • Осваиваюсь на форуме
  • ***
  • 113
  • 0
Re: Отдельный title для статьи в k2
« Ответ #5 : 25.01.2013, 17:07:15 »
вставь в шаблон
Код: php
<?php

$doc =& JFactory::getDocument();
$doc->addCustomTag( '
<meta name="title" content="'.$this->item->title.'"/>

' );

*

Rex_One

  • Завсегдатай
  • *****
  • 465
  • 36
RE: Отдельный title для статьи в k2
« Ответ #6 : 23.02.2013, 01:44:14 »
вставь в шаблон
Код: php
<?php

$doc =& JFactory::getDocument();
$doc->addCustomTag( '
<meta name="title" content="'.$this->item->title.'"/>

' );

И чего получится добится вставкой этого кода (и в какой именно файл вставлять).
Кривизна рук не компенсирует прямизну извилин.

*

pharaoh

  • Завсегдатай
  • *****
  • 428
  • 53
RE: Отдельный title для статьи в k2
« Ответ #7 : 06.03.2013, 17:41:36 »
http://myext.eu/ru/k2-title
K2 title plugin добавляет дополнительное поле "page title" в материалы и категории компонента K2

Расширение коммерческое, но на неделе запущу акцию "плагин за отзыв"

*

cmotp10

  • Осваиваюсь на форуме
  • ***
  • 29
  • 2
RE: Отдельный title для статьи в k2
« Ответ #8 : 08.03.2013, 01:17:58 »
http://myext.eu/ru/k2-title
K2 title plugin добавляет дополнительное поле "page title" в материалы и категории компонента K2

Расширение коммерческое, но на неделе запущу акцию "плагин за отзыв"

а какой смысл в платном, если предложение господина Rex_One с дополнением к Joomla (в том числе и k2) решает абсолютно все задачи, более того - не нагружает сервер и сайт.

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926

*

marricone

  • Захожу иногда
  • **
  • 14
  • 2
RE: Отдельный title для статьи в k2
« Ответ #9 : 20.03.2013, 17:35:11 »
вопрос по плагину EFSEO - Easy Frontend SEO, который здесь рекомендуется

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926

Возникла проблема.

После установки плагина, логинюсь во фронтэнде. Справа сверху возникают иконки редактирования мета-тегов, но при нажатии ничего не открывается.  !

Связываю это либо с конфликтом компонентов, либо с конфликтом скриптов.

Из компонентов у меня K2 и sh404sef

Из скриптов mootools.js, mootools-more.js, jquery.min.js и ещё много всяких

 :(

*

marricone

  • Захожу иногда
  • **
  • 14
  • 2
RE: Отдельный title для статьи в k2
« Ответ #10 : 21.03.2013, 01:11:02 »
вопрос по плагину EFSEO - Easy Frontend SEO, который здесь рекомендуется

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926

Возникла проблема.

После установки плагина, логинюсь во фронтэнде. Справа сверху возникают иконки редактирования мета-тегов, но при нажатии ничего не открывается.  !

Связываю это либо с конфликтом компонентов, либо с конфликтом скриптов.

Из компонентов у меня K2 и sh404sef

Из скриптов mootools.js, mootools-more.js, jquery.min.js и ещё много всяких

 :(
Решил проблему сам.

Дело было в плагине FullPage для JCE редактора. При редактировании материалов, плагин обрамлял их типа того:
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
   <head></head><body>
      <текст материала>
   </body>
</html>
в результате, кнопки EFSEO - Easy Frontend SEO дублировались по несколько раз и скрипты не работали корректно

*

Petrovich

  • Осваиваюсь на форуме
  • ***
  • 38
  • 0
RE: Отдельный title для статьи в k2
« Ответ #11 : 03.09.2013, 22:55:40 »
вопрос по плагину EFSEO - Easy Frontend SEO, который здесь рекомендуется

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926

Возникла проблема.

После установки плагина,
вопрос по плагину EFSEO - Easy Frontend SEO, который здесь рекомендуется

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926

Возникла проблема.
с ним не все так просто ...
ПОСЛЕ заполнения заголовков, и метатегов в К2 ( v2.6.7 )
К2 материалы не правятся и не меняются...
500 - Обнаружена ошибка.

Table 'bla-bla.---bla-bla_finder_types' doesn't exist SQL=SELECT `id` FROM `bla-bla_finder_types` WHERE `title` = 'Web Link'
+
проверка базы дает ДУБЛИ
Проблемы с индексами таблицы `-----_plg_easyfrontendseo`
Индексы PRIMARY и id равнозначны и один из них может быть удалён.
PS
bla-bla - заменил название базы  и алиас для  этого форума ..
PPS в стандартных материалах -  все работает

*

Petrovich

  • Осваиваюсь на форуме
  • ***
  • 38
  • 0
RE: Отдельный title для статьи в k2
« Ответ #12 : 05.09.2013, 20:44:58 »
Разобрался.. Дело не в  EFSEO - Easy Frontend SEO
 а в компоненте быстрый поиск  com_finder
точнее в новый версии K2_v2.6.7 нет плагина быстрого поиска, а старый плагин для K2 не работает

проблему решил удаление быстрого поиска

*

kaprikorn

  • Осваиваюсь на форуме
  • ***
  • 39
  • 4
  • www.cleverscript.ru
Re: Отдельный title для статьи в k2
« Ответ #13 : 11.02.2014, 15:46:34 »
Не знаю почему, но с включенным SEF плагин System - Easy Frontend SEO у меня не заработал.
Работало только если указывать ссылку НЕ SEF ЧПУ...

Решил это следующим образом - в файле плагина System - Easy Frontend SEO в конец функции onAfterInitialise добавил следующий код:

Код
$config =& JFactory::getConfig();
if($config->getValue( 'config.sef' )==1 && $config->getValue( 'config.sef_rewrite' )==1){
$this->set('_url', JFactory::getURI());
}

*

zukden

  • Новичок
  • *
  • 3
  • 1
Re: Отдельный title для статьи в k2
« Ответ #14 : 20.05.2014, 14:32:32 »
На одном из сайтов сделал следующее решение, без дополнительных плагинов:
1) создал дополнительное текстовое поле 'title' для тех документов K2, в которых нужен свой заголовок
2) в шаблоне k2 в файле item.php заменил код
Код
<?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ?>
  <!-- Item extra fields -->
  <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 if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ?>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<?php if($extraField->name == 'title'):
//custom title from extrafield
$pageTitle = $extraField->value;
JFactory::getDocument()->setTitle($pageTitle);
endif; ?>
<?php endif; ?>
<?php endforeach; ?>
  <?php endif; ?>

При этом решении доп. поля не отображаются в шаблоне, т.к. в моем случае в этом нет необходимости. Путем несложных изменений кода можно оставить вывод необходимых доп. полей.
« Последнее редактирование: 20.05.2014, 14:36:45 от zukden »

*

denniseds

  • Новичок
  • *
  • 7
  • 0
Re: Отдельный title для статьи в k2
« Ответ #15 : 12.07.2014, 11:45:16 »
Проблема та же, нужно что бы заголовки отличались от title, перепробовал все методы предложенные выше - ничего не помогает, плагины не работают, правка кода тоже не приносит результата, есть какие то еще альтернативные варианты?

*

step-di

  • Осваиваюсь на форуме
  • ***
  • 79
  • 4
Re: Отдельный title для статьи в k2
« Ответ #16 : 03.10.2014, 15:38:14 »
в базу данных k2_items добавил поле title_head char(255)

administrator\components\com_k2\views\item\tmpl\default.php после  аналогичного кода для вывода строки таблицы с <?php echo JText::_('K2_TITLE'); ?>
Код
<tr>
<td class="adminK2LeftCol">
<label for="title_head"><?php echo JText::_('K2_TITLE'); ?> для раздела HEAD</label>
</td>
<td class="adminK2RightCol">
<input class="text_area k2TitleBox" type="text" name="title_head" id="title_head" maxlength="250" value="<?php echo $this->row->title_head; ?>" />
</td>
</tr>

administrator\components\com_k2\tables\k2item.php            
Код
var $title_head = null;


в шаблоне статьи к2
Код
if ($this->item->title_head) JFactory::getDocument()->setTitle($this->item->title_head);


Доработку админских частей к2 сохранить и проверять после обновлений к2
« Последнее редактирование: 03.10.2014, 15:46:40 от step-di »

*

safronoff343

  • Осваиваюсь на форуме
  • ***
  • 98
  • -3
RE: Отдельный title для статьи в k2
« Ответ #17 : 28.12.2014, 00:54:04 »
Подскажите, а для Joomla 1.5 есть решение?
Солнце войдет в черный разлом и наступит конец света...

*

safronoff343

  • Осваиваюсь на форуме
  • ***
  • 98
  • -3
RE: Отдельный title для статьи в k2
« Ответ #18 : 28.12.2014, 13:21:59 »
в шаблоне статьи к2
Код
if ($this->item->title_head) JFactory::getDocument()->setTitle($this->item->title_head);

Как правильно разместить этот код?
Солнце войдет в черный разлом и наступит конец света...

*

step-di

  • Осваиваюсь на форуме
  • ***
  • 79
  • 4
RE: Отдельный title для статьи в k2
« Ответ #19 : 28.12.2014, 21:17:47 »
Где находится шаблон материала к2?
ответ - components\com_k2\templates\default\item.php (по умолчанию)
но я обычно создаю отдельную папку шаблона (там где лежит default)
и шаблон будет по адресу components\com_k2\templates\new\item.php
в настройках  категории я включаю шаблон new
так я не боюсь, что при обновлении к2 все изменения шаблона по умолчанию затрутся

и сразу после строчки defined('_JEXEC') or die('Restricted access');
можно вставить
if ($this->item->title_head) JFactory::getDocument()->setTitle($this->item->title_head);

*

safronoff343

  • Осваиваюсь на форуме
  • ***
  • 98
  • -3
RE: Отдельный title для статьи в k2
« Ответ #20 : 29.12.2014, 00:56:17 »
Где находится шаблон материала к2?
ответ - components\com_k2\templates\default\item.php (по умолчанию)
но я обычно создаю отдельную папку шаблона (там где лежит default)
и шаблон будет по адресу components\com_k2\templates\new\item.php
в настройках  категории я включаю шаблон new
так я не боюсь, что при обновлении к2 все изменения шаблона по умолчанию затрутся

и сразу после строчки defined('_JEXEC') or die('Restricted access');
можно вставить
if ($this->item->title_head) JFactory::getDocument()->setTitle($this->item->title_head);



У меня все ровно не работает((

Все сделал как написали, но title выводится из старого поля "Заголовок"

Солнце войдет в черный разлом и наступит конец света...

*

step-di

  • Осваиваюсь на форуме
  • ***
  • 79
  • 4
RE: Отдельный title для статьи в k2
« Ответ #21 : 29.12.2014, 01:31:38 »
Проверьте, что вы вставили код для вывода заголовка именно в подключаемый шаблон. Когда я не уверен что выбранный PHP файл работает, я в него вставляю какой нибудь текст доя вывода, сохраняю и проверяю что текст выводится.

Вместо текстовой переменной в функции settitle  можно для проверки вставить любой текст в кавычках и проверить что заголовок страницы в браузере изменится.
Проверьте что текстовая переменная содержит значение, которое вы указали в редакторе статьи через вывод ее с помощью echo

*

safronoff343

  • Осваиваюсь на форуме
  • ***
  • 98
  • -3
RE: Отдельный title для статьи в k2
« Ответ #22 : 29.12.2014, 02:39:41 »
Проверьте, что вы вставили код для вывода заголовка именно в подключаемый шаблон. Когда я не уверен что выбранный PHP файл работает, я в него вставляю какой нибудь текст доя вывода, сохраняю и проверяю что текст выводится.

Вместо текстовой переменной в функции settitle  можно для проверки вставить любой текст в кавычках и проверить что заголовок страницы в браузере изменится.
Проверьте что текстовая переменная содержит значение, которое вы указали в редакторе статьи через вывод ее с помощью echo

Да, вставлял туда т. к. вначале вставил чуть ниже за ?> и эта строчка отображалась просто текстом на сайте.

Думаю проблема в JoomSEF.
Солнце войдет в черный разлом и наступит конец света...

*

step-di

  • Осваиваюсь на форуме
  • ***
  • 79
  • 4
RE: Отдельный title для статьи в k2
« Ответ #23 : 29.12.2014, 04:09:50 »
 а
<?php  echo $this->item->title_head; ?>
выводит ваш текст заголовка для title на странице?
а
<?php   JFactory::getDocument()->setTitle('новый title'); ?>
меняет ваш заголовок в браузере?

код
if ($this->item->title_head) JFactory::getDocument()->setTitle($this->item->title_head);
срабатывает лишь тогда, когда $this->item->title_head не пустой

*

hostodont

  • Захожу иногда
  • **
  • 14
  • 2
RE: Отдельный title для статьи в k2
« Ответ #24 : 31.12.2014, 11:43:11 »
в базу данных k2_items добавил поле title_head char(255)

Блин, спасибо тебе огромное! 2 дня потратил на решение проблемы, а все оказалось на много проще!
Все работает, полет нормальный. Joomla 3.* K2 - 2.6.9
Я немного изменил строку:
<label for="title_head"><?php echo JText::_('K2_HEAD_TITLE'); ?></label>
добавил новую константу и в стандартных средствах Joomla добавил новый Language override - для админской (!) части.
K2_HEAD_TITLE ->Page title
Так можно менять лейбл константой а не вносить изменения в код.

*

rj45

  • Осваиваюсь на форуме
  • ***
  • 88
  • 1
RE: Отдельный title для статьи в k2
« Ответ #25 : 30.01.2015, 00:26:27 »
в базу данных k2_items добавил поле title_head char(255)

Все работает на Joomla 3. Огромное спасибо, очень помогли! Поставил плюс в карму.

*

marsin

  • Новичок
  • *
  • 4
  • 0
Re: Отдельный title для статьи в k2
« Ответ #26 : 13.04.2015, 01:24:33 »
Здравствуйте! Помогите, пожалуйста, с Joomla 1.5.25 и К2 v2.3
Не получается создать собственный Title для категорий.Что я сделал:
1. В таблице категорий базы данных создал поле customtitle (char255).
2. Добавил поле в админку категории в файле administrator/components/com_k2/views/category/tmpl/default.php, вставил:
Код
<tr>
   <td class="key">
      <?php echo JText::_('Custom title'); ?>
   </td>
   <td>
      <input class="text_area k2TitleBox" type="text" name="customtitle" value="<?php echo $this->row->customtitle; ?>" maxlength="250" />
   </td>
</tr>
3. В administrator/components/com_k2/tables/k2category.php добавил var $customtitle = null;
4. В файле components/com_k2/views/itemlist/view.html.php заменил:
Код
// Set title
$title = $category->name;
на
Код
// Set title					
$title = $category->customtitle=='' ? $title = $category->name : $title = $category->customtitle;


Не работает. Категории присваивается Title от раздела меню. В админке все получается: есть поле Custom title, его можно заполнить и сохранить изменения.
Шаблон категории используется дефолтный. Попробовал вставить в файл components/com_k2/templates/default/category.php
Код
if ($this->category->customtitle) JFactory::getDocument()->setTitle($this->category->customtitle);

Результат - ноль. Без помощи не обойтись никак. Выручайте!
« Последнее редактирование: 13.04.2015, 01:27:49 от marsin »

*

step-di

  • Осваиваюсь на форуме
  • ***
  • 79
  • 4
RE: Отдельный title для статьи в k2
« Ответ #27 : 18.04.2015, 21:44:39 »
Здравствуйте! Помогите, пожалуйста, с Joomla 1.5.25 и К2 v2.3
Не получается создать собственный Title для категорий.Что я сделал:
1. В таблице категорий базы данных создал поле customtitle (char255).
2. Добавил поле в админку категории в файле administrator/components/com_k2/views/category/tmpl/default.php, вставил:
Код
<tr>
   <td class="key">
      <?php echo JText::_('Custom title'); ?>
   </td>
   <td>
      <input class="text_area k2TitleBox" type="text" name="customtitle" value="<?php echo $this->row->customtitle; ?>" maxlength="250" />
   </td>
</tr>
3. В administrator/components/com_k2/tables/k2category.php добавил var $customtitle = null;
4. В файле components/com_k2/views/itemlist/view.html.php заменил:
Код
// Set title
$title = $category->name;
на
Код
// Set title					
$title = $category->customtitle=='' ? $title = $category->name : $title = $category->customtitle;


Не работает. Категории присваивается Title от раздела меню. В админке все получается: есть поле Custom title, его можно заполнить и сохранить изменения.
Шаблон категории используется дефолтный. Попробовал вставить в файл components/com_k2/templates/default/category.php
Код
if ($this->category->customtitle) JFactory::getDocument()->setTitle($this->category->customtitle);

Результат - ноль. Без помощи не обойтись никак. Выручайте!



при заполнении  заголовка он в базу данных попадает?
он в админке при сохранении выводится  в поле?

проверьте, что в шаблоне этот заголовок выводится через echo
если это происходит, то ищите как текст можно засунуть в титл в Joomla 1.5

*

marsin

  • Новичок
  • *
  • 4
  • 0
Re: Отдельный title для статьи в k2
« Ответ #28 : 20.04.2015, 01:13:43 »
при заполнении  заголовка он в базу данных попадает?
Заголовок в базу данных попадает.
он в админке при сохранении выводится  в поле?
В админке он выводится в поле.
проверьте, что в шаблоне этот заголовок выводится через echo
Не судите строго, в PHP - не силен. Как я понял, для проверки того, этот ли файл отвечает за дефолтный шаблон категории в components/com_k2/templates/default/category.php вставил строку <?php echo 'Проверочный текст';?> - на странице категории этот текст не появился. Не этот файл (category.php) формирует шаблон?

*

marsin

  • Новичок
  • *
  • 4
  • 0
RE: Отдельный title для статьи в k2
« Ответ #29 : 26.04.2015, 18:39:30 »
Разобрался. За дефолтный шаблон категории моего сайта отвечает файл templates/мой_шаблон/html/com_k2/templates/default/category.php - вставил туда if ($this->category->customtitle) JFactory::getDocument()->setTitle($this->category->customtitle). Все работает.

step-di - Большое спасибо!