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

goggaa

  • Новичок
  • 3
  • 0 / 0
Добрый день, подскажите, пожалуйста
Два вопроса по поводу title в Joomla.
1. У всех подкатегорий одной категории - "Каталог оборудования" выводится title "Каталог оборудования". Нужно, чтобы выводился обычный уникальный title = заголовку этой категории.
2. Как сделать чтобы у всех материалов из категории "каталог оборудования" был title допустим "Название материала - купить", а у всех остальных страниц сайта он остался неизменным?

Где вообще в Joomla задается title, в каких файлах движка?

Спасибо.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
можно для каждого раздела/статьи создать ссылку в меню и в параметрах ссылки прописать все что хочется...
Я с мобильного, в основном...
*

goggaa

  • Новичок
  • 3
  • 0 / 0
Mihanja80, да, но хочется автоматически, ибо много их
*

goggaa

  • Новичок
  • 3
  • 0 / 0
Вопрос актуален!
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Mihanja80, да, но хочется автоматически, ибо много их
Автоматически решить можно в коммерческом разделе, там за денежку люди Вам в ручном режиме так пропишут что любой "автоматичкски" будет "нервно курить в сторонке".

Лень ручками работать - платите денежку...
Я с мобильного, в основном...
*

kolias23

  • Новичок
  • 8
  • 4 / 0
Автоматически решить можно в коммерческом разделе, там за денежку люди Вам в ручном режиме так пропишут что любой "автоматичкски" будет "нервно курить в сторонке".
Лень ручками работать - платите денежку...

Вопрос был задан как сделать самостоятельно, то что за деньги можно решить знаем без сопливых. 
*

skai

  • Завсегдатай
  • 1199
  • 153 / 1
  • skaiseo
решение для Joomla 1.5 http://joomlaforum.ru/index.php/topic,77554.new.html  - сделайте по аналогии.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

mudriy

  • Новичок
  • 5
  • 0 / 0
Начал юзать Joomla месяц назад, сразу версию 1.6 и тоже с толкнулся с проблемой вывод в title названия категории в которой щас находишся. По правильному нужно каждую категорию, подкатегорию, под-подкатегорию .... и т.д. прописывать в меню, что не очень удобно при наличии многоуровневой вложенности и возможно достаточно большим перечнем подменю. Вобщем не хочется делать работу два раза.
Два дня порывшись в интернете, собрав из кусков информацию написал код, который нужно вставить в начало index.php текущего шаблона.

Код
<?
// Определяем всякие переменные
$catid = JRequest::getInt( 'catid', 1, 'get' );
$articleid = JRequest::getInt( 'id', 1, 'get' );
$mydoc =& JFactory::getDocument();
$db = JFactory::getDbo();
$query = new JDatabaseQuery;

if ($catid == 1) {  // Открыта категория

    $query = $db->getQuery(true);
    $query->select('c.title');
    $query->from('#__categories AS c');
    $query->where('c.id = '.$articleid);  

} else {  // Открыта статья
    
    $query = $db->getQuery(true);
    $query->select('c.title');
    $query->from('#__content AS c');
    $query->where('c.id = '.$articleid);  
    
}
 
        // Получаем результат
$db->setQuery($query);
$rows = $db->loadObjectList();
        
        while (list ($key, $value) = each ($rows)) {
            while (list ($key1, $value1) = each ($value)) {
                if ($key1 == 'title'){$title = $value1;}
            }
        }

    // Если главная, определяем название сайта
if ($articleid == '0') {
    $config = & JFactory::getConfig();
    $title =$config->getValue('sitename');
}

    // Присваиваем title
    $mydoc->setTitle($title);        

    ?>

« Последнее редактирование: 26.06.2011, 18:36:05 от mudriy »
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
mudriy
решение абсолютно не верное.
Для этого можно использовать макеты представления com_content.
Пример для списка в категории
components/com_content/views/category/tmpl/default.php
добавляем после строчки
Код
defined('_JEXEC') or die;
следующее
Код
$doc = JFactory::getDocument();
$app = JFactory::getApplication();
$active_menu = $app->getMenu()->getActive();
$sef_title = $app->getCfg('sitename_pagetitles');
if ($sef_title) {
$search = $app->getCfg('sitename').' - ';
$page_title = str_replace($search, '', $doc->title);
} else {
$page_title = $doc->title;
}
if (($page_title !== $this->category->title) && ($active_menu && $active_menu->query['id'] !== $this->category->id)) {
if ($sef_title) {
$title = $search.$this->category->title;
$doc->setTitle($title);
} else {
$doc->setTitle($this->category->title);
}
}
аналогично делаем для блога в категории (components/com_content/views/category/tmpl/blog.php)

Данные файлы ложим в соответствующую директорию "html" шаблона, или переопределяем макеты вывода категории в шаблоне.
При этом никаких лишних запросов делать не нужно.
*

Matvey

  • Осваиваюсь на форуме
  • 17
  • 3 / 0
Для этого можно использовать макеты представления com_content.
Пример для списка в категории
components/com_content/views/category/tmpl/default.php
добавляем после строчки
Код
defined('_JEXEC') or die;
следующее
Код
$doc = JFactory::getDocument();
$app = JFactory::getApplication();
$active_menu = $app->getMenu()->getActive();
$sef_title = $app->getCfg('sitename_pagetitles');
if ($sef_title) {
$search = $app->getCfg('sitename').' - ';
$page_title = str_replace($search, '', $doc->title);
} else {
$page_title = $doc->title;
}
if (($page_title !== $this->category->title) && ($active_menu && $active_menu->query['id'] !== $this->category->id)) {
if ($sef_title) {
$title = $search.$this->category->title;
$doc->setTitle($title);
} else {
$doc->setTitle($this->category->title);
}
}
аналогично делаем для блога в категории (components/com_content/views/category/tmpl/blog.php)

Данные файлы ложим в соответствующую директорию "html" шаблона, или переопределяем макеты вывода категории в шаблоне.
При этом никаких лишних запросов делать не нужно.


SmokerMan - Огромное спасибо!
Переопределил макеты вывода категории в шаблоне и все чётко заработало.
Теперь на страницах не прикрепленных к пунктам меню title берется из их названий.
*

Rival

  • Захожу иногда
  • 188
  • 16 / 0
Код
$doc = JFactory::getDocument();
$app = JFactory::getApplication();
$active_menu = $app->getMenu()->getActive();
$sef_title = $app->getCfg('sitename_pagetitles');
if ($sef_title) {
$search = $app->getCfg('sitename').' - ';
$page_title = str_replace($search, '', $doc->title);
} else {
$page_title = $doc->title;
}
if (($page_title !== $this->category->title) && ($active_menu && $active_menu->query['id'] !== $this->category->id)) {
if ($sef_title) {
$title = $search.$this->category->title;
$doc->setTitle($title);
} else {
$doc->setTitle($this->category->title);
}
}
Скажите пожалуйста как переставить в этом коде,
чтоб сначала был заголовок категории,
а после заголовок сайта?

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

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Скажите пожалуйста как переставить в этом коде,
чтоб сначала был заголовок категории,
а после заголовок сайта?
Можно попробовать так,  если я правильно понял.
заменить
Код
$search = $app->getCfg('sitename').' - ';
...
Код
$title = $search.$this->category->title;

на
Код
$search = ' - '.$app->getCfg('sitename');
...
Код
$title = $this->category->title.$search;
*

Rival

  • Захожу иногда
  • 188
  • 16 / 0
Все получилось, как и хотел спасибо. +
« Последнее редактирование: 04.04.2012, 21:53:16 от Rival »
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
Можно попробовать так,  если я правильно понял.
заменить
Код
$search = $app->getCfg('sitename').' - ';
...
Код
$title = $search.$this->category->title;

на
Код
$search = ' - '.$app->getCfg('sitename');
...
Код
$title = $this->category->title.$search;


Подскажите пожалуйста, а возможно аналогичное решение придумать для тайтла материала. Т. е. необходимо чтобы указывалось "название материала" - "название категории".
Нашел похожее решение под 1.5, но в 1.7 ничего не получается выводится пустая страница(
*

midav

  • Давно я тут
  • 926
  • 115 / 1

Подскажите пожалуйста, а возможно аналогичное решение придумать для тайтла материала. Т. е. необходимо чтобы указывалось "название материала" - "название категории".
Нашел похожее решение под 1.5, но в 1.7 ничего не получается выводится пустая страница(

В файл templates\ваш шаблон\html\com_content\article\default.php добавляем код :
Код
// Устанавливаем заголовок для страницы вывода статей 
$document         = JFactory::getDocument();
$title = $this->escape($this->item->title).' - '. $this->escape($this->item->category_title) ;
$document->setTitle( $title );
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
В файл templates\ваш шаблон\html\com_content\article\default.php добавляем код :
Код
// Устанавливаем заголовок для страницы вывода статей 
$document         = JFactory::getDocument();
$title = $this->escape($this->item->title).' - '. $this->escape($this->item->category_title) ;
$document->setTitle( $title );

Предыдущее сообщение почему-то потерлось, продублирую.
Спасибо огромное! У меня на Ваш ответ еще 100500 вопросов)) Вставил под defined('_JEXEC') or die; заработало, но под названием категории я имел ввиду её meta title, возможно ли вставить его?
И, что нужно дописать в коде, чтобы еще добавлялось название сайта правее?
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Цитировать
но под названием категории я имел ввиду её meta title, возможно ли вставить его?
Что Вы понимаете под словами её meta title ?
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
Что Вы понимаете под словами её meta title ?
Я имею ввиду title в мета тегах. Просто у меня на сайте title категории и title этой категории в мета тегах различаются немного.
*

ELLE

  • Глобальный модератор
  • 4513
  • 892 / 0
Я имею ввиду title в мета тегах. Просто у меня на сайте title категории и title этой категории в мета тегах различаются немного.
А теперь еще раз....Тег Title или мета-тег Title? :)
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
А теперь еще раз....Тег Title или мета-тег Title? :)

Имею ввиду название, отображаемое в HTML коде в тегах <title></title>
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Имею ввиду название, отображаемое в HTML коде в тегах <title></title>
Откуда оно берется ? Из пункта меню ?
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
Откуда оно берется ? Из пункта меню ?
Да, задается в пункте меню, к которому эта категория привязана.
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
Если это сложно сделать, то подскажите пожалуйста как добавить правее еще название сайта
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Тогда так :
Код
$menu 		  = JSite::getMenu()->getActive();
$menu_meta_title = $menu->params->getValue('page_title');

$config    = JFactory::getConfig();
$sitename = $config->get('sitename', '');

// Устанавливаем заголовок для страницы вывода статей
$document         = JFactory::getDocument();
$title = $this->escape($this->item->title).' - '. $menu_meta_title.' - '.$sitename ;
$document->setTitle( $title );
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Juseppe

  • Захожу иногда
  • 59
  • 1 / 0
Огроменное спасибо! Очень помогли!
*

Black fire

  • Новичок
  • 4
  • 0 / 0
Если создать меню, а к нему добавить дочерний раздел блога категории, то тайтл выводиться некорректно.
Добавил проверку.

Код
$menu 		  = JSite::getMenu()->getActive();
$menu_meta_title = $menu->params->getValue('page_title');

$config    = JFactory::getConfig();
$sitename = $config->get('sitename', '');

// Устанавливаем заголовок для страницы вывода статей
$document         = JFactory::getDocument();
if (empty($menu_meta_title)) {
$title = $this->escape($this->item->title).' - '.$sitename ;
}
else {
$title = $this->escape($this->item->title).' - '. $menu_meta_title.' - '.$sitename ;
$document->setTitle( $title );
}
*

Black fire

  • Новичок
  • 4
  • 0 / 0
Спасибо за основное решение  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 266
Просмотров: 52289
Последний ответ 22.10.2021, 21:08:37
от Zegeberg
Конструктор страниц (Page Builder) для Joomla 2.5

Автор nia

Ответов: 4
Просмотров: 640
Последний ответ 14.03.2021, 12:17:35
от nia
Склейки индекс страниц

Автор FBM

Ответов: 0
Просмотров: 769
Последний ответ 19.02.2020, 17:26:00
от FBM
Как сделать нормальные заголовки страниц (title)?

Автор alienshooter

Ответов: 42
Просмотров: 30162
Последний ответ 29.10.2018, 21:36:14
от Elena91
Технические дубли страниц - 301 редирект

Автор randomObject

Ответов: 1
Просмотров: 849
Последний ответ 23.01.2018, 14:05:52
от ProtectYourSite