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

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

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

 (Прочитано 9872 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cmotp10
Осваиваюсь на форуме
***

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

Сообщений: 30


« : 23.01.2013, 23:29:16 »

Уважаемое сообщество, прошу помощи.

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

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

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

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

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

Спасибо.


« Последнее редактирование: 27.01.2013, 21:02:45 от cmotp10 » Записан
Rex_One
Завсегдатай
*****

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

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


« Ответ #1 : 24.01.2013, 01:06:55 »

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data
« Последнее редактирование: 24.01.2013, 01:27:21 от Rex_One » Записан
cmotp10
Осваиваюсь на форуме
***

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

Сообщений: 30


« Ответ #2 : 24.01.2013, 01:31:32 »


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

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

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


« Ответ #3 : 24.01.2013, 01:40:44 »

Только что поставл. На К2 работает
Попробуй
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/meta-data/17926
Записан
cmotp10
Осваиваюсь на форуме
***

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

Сообщений: 30


« Ответ #4 : 24.01.2013, 01:55:37 »

Rex_One Хочу Вам плюсик поставить, но не найду как, Видимо, как новичок, я несколько ограничен в полномочиях. Как только достугну некоторых высот на форуме, обязательно "плюсану". Вы мне действительно очень помогли. Все работает. Я получил даже  больше функционала, чем хотел и он актуален.
Записан
chilly_bang
Осваиваюсь на форуме
***

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

Сообщений: 113


« Ответ #5 : 25.01.2013, 15:07:15 »

вставь в шаблон
Код
<?php
 
$doc =& JFactory::getDocument();
$doc->addCustomTag( '
<meta name="title" content="'
.$this->item->title.'"/>
 
'
);
Записан
Rex_One
Завсегдатай
*****

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

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


« Ответ #6 : 22.02.2013, 23:44:14 »

вставь в шаблон
Код
<?php
 
$doc =& JFactory::getDocument();
$doc->addCustomTag( '
<meta name="title" content="'
.$this->item->title.'"/>
 
'
);

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

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

Сообщений: 424


« Ответ #7 : 06.03.2013, 15:41:36 »

http://myext.eu/ru/k2-title
K2 title plugin добавляет дополнительное поле "page title" в материалы и категории компонента K2

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

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

Сообщений: 30


« Ответ #8 : 07.03.2013, 23: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
Захожу иногда
**

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

Сообщений: 14


« Ответ #9 : 20.03.2013, 15: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 и ещё много всяких

 Sad
Записан
marricone
Захожу иногда
**

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

Сообщений: 14


« Ответ #10 : 20.03.2013, 23: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 и ещё много всяких

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

Дело было в плагине 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
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #11 : 03.09.2013, 20: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
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #12 : 05.09.2013, 18:44:58 »

Разобрался.. Дело не в  EFSEO - Easy Frontend SEO
 а в компоненте быстрый поиск  com_finder
точнее в новый версии K2_v2.6.7 нет плагина быстрого поиска, а старый плагин для K2 не работает

проблему решил удаление быстрого поиска
Записан
kaprikorn
Осваиваюсь на форуме
***

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

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


www.cleverscript.ru


« Ответ #13 : 11.02.2014, 13: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
Новичок
*

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

Сообщений: 3


« Ответ #14 : 20.05.2014, 12: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, 12:36:45 от zukden » Записан
denniseds
Захожу иногда
**

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

Сообщений: 11


« Ответ #15 : 12.07.2014, 09:45:16 »

Проблема та же, нужно что бы заголовки отличались от title, перепробовал все методы предложенные выше - ничего не помогает, плагины не работают, правка кода тоже не приносит результата, есть какие то еще альтернативные варианты?
Записан
step-di
Осваиваюсь на форуме
***

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

Сообщений: 67


« Ответ #16 : 03.10.2014, 13: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, 13:46:40 от step-di » Записан
safronoff343
Осваиваюсь на форуме
***

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

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



« Ответ #17 : 27.12.2014, 23:54:04 »

Подскажите, а для Joomla 1.5 есть решение?
Записан
safronoff343
Осваиваюсь на форуме
***

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

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



« Ответ #18 : 28.12.2014, 12:21:59 »

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

Как правильно разместить этот код?
Записан
step-di
Осваиваюсь на форуме
***

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

Сообщений: 67


« Ответ #19 : 28.12.2014, 20: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
Осваиваюсь на форуме
***

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

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



« Ответ #20 : 28.12.2014, 23: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
Осваиваюсь на форуме
***

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

Сообщений: 67


« Ответ #21 : 29.12.2014, 00:31:38 »

Проверьте, что вы вставили код для вывода заголовка именно в подключаемый шаблон. Когда я не уверен что выбранный PHP файл работает, я в него вставляю какой нибудь текст доя вывода, сохраняю и проверяю что текст выводится.

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

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

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



« Ответ #22 : 29.12.2014, 01:39:41 »

Проверьте, что вы вставили код для вывода заголовка именно в подключаемый шаблон. Когда я не уверен что выбранный PHP файл работает, я в него вставляю какой нибудь текст доя вывода, сохраняю и проверяю что текст выводится.

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

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

Думаю проблема в JoomSEF.
Записан
step-di
Осваиваюсь на форуме
***

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

Сообщений: 67


« Ответ #23 : 29.12.2014, 03: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
Захожу иногда
**

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

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



« Ответ #24 : 31.12.2014, 10: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
Осваиваюсь на форуме
***

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

Сообщений: 95


« Ответ #25 : 29.01.2015, 23:26:27 »

в базу данных k2_items добавил поле title_head char(255)

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

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

Сообщений: 4


« Ответ #26 : 13.04.2015, 00: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, 00:27:49 от marsin » Записан
step-di
Осваиваюсь на форуме
***

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

Сообщений: 67


« Ответ #27 : 18.04.2015, 20: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
Новичок
*

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

Сообщений: 4


« Ответ #28 : 20.04.2015, 00:13:43 »

при заполнении  заголовка он в базу данных попадает?
Заголовок в базу данных попадает.
он в админке при сохранении выводится  в поле?
В админке он выводится в поле.
проверьте, что в шаблоне этот заголовок выводится через echo
Не судите строго, в PHP - не силен. Как я понял, для проверки того, этот ли файл отвечает за дефолтный шаблон категории в components/com_k2/templates/default/category.php вставил строку <?php echo 'Проверочный текст';?> - на странице категории этот текст не появился. Не этот файл (category.php) формирует шаблон?
Записан
marsin
Новичок
*

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

Сообщений: 4


« Ответ #29 : 26.04.2015, 17:39:30 »

Разобрался. За дефолтный шаблон категории моего сайта отвечает файл templates/мой_шаблон/html/com_k2/templates/default/category.php - вставил туда if ($this->category->customtitle) JFactory::getDocument()->setTitle($this->category->customtitle). Все работает.

step-di - Большое спасибо!
Записан
Страниц: [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