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

back

  • Захожу иногда
  • 214
  • 7 / 0
  • Все просто если по очереди)
Привет.
У меня (и судя по поиску по форуму у многих других) возникала проблема - на главной вместо названия сайта в тег title попадала фраза "Главная страница".  (1,5)
Сначала пробовал плагины типа SEOMeta1.2 но там то Open Source на всех страницах вылазил, то названия сайта на всех страницах было, а мне нужно было просто название сайта на главной, а другие страницы - просто как название материала.
Потом нашел хак кода в одном из сообщений Sulpher и решил сам его доработать до нужного мне вида .
Результат:
Ищем файл libraries\joomla\document\html\renderer\head.php. там ищем строчку 53.
   
Код
	function fetchHead(&$document)
{
Сразу после { пишем
Код
		global $mainframe;
$SiteName = $mainframe->getCfg('sitename');
далее ищем строчку 85
Код
$strHtml .= $tab.'<title>'.htmlspecialchars($document->getTitle()).'</title>'.$lnEnd;
и заменяем её на такое вот условия
Код
		if ($_SERVER['REQUEST_URI']=="/index.php" or $_SERVER['REQUEST_URI']=="/")
{
$strHtml .= $tab.'<title>'.$SiteName.'</title>'.$lnEnd;
}
else
{
$strHtml .= $tab.'<title>'.htmlspecialchars($document->getTitle()).'</title>'.$lnEnd;
}
Это означает если сейчас страница главная страница ("/index.php" или про "/" ) то пишем название сайта.
В противном случае пишем название материала. И все готово.

Кстати если вам надо вывести на другорядные страницы название сайта + название материала
То последнее условия должно иметь такой вид:
Код
		if ($_SERVER['REQUEST_URI']=="/index.php" or $_SERVER['REQUEST_URI']=="/")
{
$strHtml .= $tab.'<title>'.$SiteName.'</title>'.$lnEnd;
}
else
{
$strHtml .= $tab.'<title>'.$SiteName.' - '.htmlspecialchars($document->getTitle()).'</title>'.$lnEnd;
}
Надеюсь  кому-то это будет полезно.  ^-^
« Последнее редактирование: 08.11.2009, 20:54:35 от back »
*

Webb

  • Захожу иногда
  • 304
  • 19 / 2
  • rusinmd
а если просто - в меню, параметры-системы, в заголовке странице прописать, и радио на нет поставить...
*

yatsyk

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Спасибо за совет !!
*

cyberbattler

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
libraries\joomla\document\html\renderer\head.php
Где такая директория  "libraries" я не нашел нифига!
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
В Joomla 1.5.x
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

angemax

  • Захожу иногда
  • 140
  • 3 / 0
Благодарю! Инфа помогла. И сразу все стало нормально.
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
чет не помогло.. все так же <title>Главная</title>
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

back

  • Захожу иногда
  • 214
  • 7 / 0
  • Все просто если по очереди)
может прикрепи файл который правил? А то не могу ничего сказать

Кстати я тут обнаружил плагин System - Tag Meta - он тоже может добавить текст в тайтл
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
нарыл что sh404SEF может это сделать и там настроил :)
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

back

  • Захожу иногда
  • 214
  • 7 / 0
  • Все просто если по очереди)
Тоже вариант

Кстати - подправил первое сообщение темы. Будьте внимательны.
Там была ошибка - пропадал description. теперь все нормально.  yes!
« Последнее редактирование: 08.11.2009, 20:57:12 от back »
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
Тоже вариант

Кстати - подправил первое сообщение темы. Будьте внимательны.
Там была ошибка - пропадал description. теперь все нормально.  yes!
ну спасибо..))))))) лучше поздно чем никогда
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

back

  • Захожу иногда
  • 214
  • 7 / 0
  • Все просто если по очереди)
пожалуйста ;D
*

rivkin_max

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Господину back-у респект и уважуха. Большое спасибо.
*

ringvault

  • Новичок
  • 3
  • 0 / 0
В условии на 83 строке вместо:
      if ($_SERVER['REQUEST_URI']=="/index.php" or $_SERVER['REQUEST_URI']=="/")
правильнее использовать:
      if ($_GET['view']=='frontpage')
тогда будет работать и при включенном SEF
*

vigerLab

  • Захожу иногда
  • 62
  • 1 / 0
спасибо за инфу, только вчера с меню замарачивался, а тут оказывается всё проще и корректнее =)
*

puzz

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Спасибо, back! Ваше решение избавило от головной боли! Работает!
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Что за бред? Достаточно в параметрах пункта меню прописать нужное и все, никаких хаков не надо!
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
зайдите в 404SEF - конфигурация - Meta/SEO - пишем на свой вкус в Insert before page title и Append to page title
ещё title берется из менеджера разделов, менеджера категорий..
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
вот ещё один ценный совет  8)
Если нужно сделать чтобы везде в заголовках отображался "Титл" из настроек Joomla, то нужно в начале index.php сделать так
<?php
defined
('_JEXEC') or die('Restricted access'); // no direct access
$this->setTitle($mainframe->getCfg('sitename'));
?>


или если надо чтобы было "Название стр - Титл", то код будет такой:

$this->setTitle($this->getTitle(). ' - ' $mainframe->getCfg('sitename')); 
*

Lёksa

  • Новичок
  • 2
  • 0 / 0
Может я чет не понимаю (болею, температура) но имя сайта.....титл......  в Joomla: Сайт - общие настройки - Имя сайта =)
если что, сори что вставил 5 копеек)))
*

Sentry

  • Новичок
  • 8
  • 0 / 0
  • Чайник... Но- Медный!
Что за бред? Достаточно в параметрах пункта меню прописать нужное и все, никаких хаков не надо!
+1. Возился дня два разными способами))) все не устраивало.Спасибо)
*

typer

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
ребят у меня проблема в следующем тайтл берется из названия меню, как запретить это делать для главной страницы и вписать свой тайтл
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
В head index.php шаблона добавь
Код: php
<?php
$menu = &JSite::getMenu();
if ($menu->getActive()->id == $menu->getDefault()->id){
$this->setTitle('Зто мой великолепный сайт бла-бла-бла');
}
?>
Если уж с настройками пункта меню не разобрался
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

typer

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
В head index.php шаблона добавь
Код: php
<?php
$menu = &JSite::getMenu();
if ($menu->getActive()->id == $menu->getDefault()->id){
$this->setTitle('Зто мой великолепный сайт бла-бла-бла');
}
?>
Если уж с настройками пункта меню не разобрался
Сделал как написал
хер че выводиться
с настройками меню уже давно разобрался в параметрах системы в поле параметры страницы что бы не писал ему по барабану ,тоже не выводит ! хз бред какой то
может я что в sh404SEF намудрил
*

SV

  • Захожу иногда
  • 99
  • 1 / 0
А как сделать чтоб <meta name="title" content="здесь прописывался раздел а не название статьи." />
*

K0sty@n

  • Новичок
  • 4
  • 0 / 0
В условии на 83 строке вместо:
      if ($_SERVER['REQUEST_URI']=="/index.php" or $_SERVER['REQUEST_URI']=="/")
правильнее использовать:
      if ($_GET['view']=='frontpage')
тогда будет работать и при включенном SEF
Но тогда при отключеном SEF не работает
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать правильный редирект

Автор gadjet

Ответов: 25
Просмотров: 12378
Последний ответ 17.05.2022, 01:22:12
от kabban
Убрать из URL GET-параметр и сделать редирект на главную

Автор zeus07

Ответов: 8
Просмотров: 574
Последний ответ 19.11.2021, 13:10:41
от zeus07
Не получается поменять description на главной странице Joomla 3.

Автор illimited

Ответов: 11
Просмотров: 739
Последний ответ 21.12.2020, 14:39:49
от illimited
Нет тегов title и descripton

Автор dvcool

Ответов: 0
Просмотров: 906
Последний ответ 14.01.2020, 13:09:55
от dvcool
Как сделать правильно меню в разделе?

Автор specifika

Ответов: 0
Просмотров: 811
Последний ответ 29.07.2019, 09:24:11
от specifika