-Рубрики

 -Музыка

 -Поиск по дневнику

Поиск сообщений в sniper47

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 02.03.2010
Записей:
Комментариев:
Написано: 775


Meta-теги в Joomla! и с чем их едят

Четверг, 15 Апреля 2010 г. 20:47 + в цитатник
Meta-теги в Joomla! и с чем их едят
Для начала, о тегах description и keywords, чье содержимое можно задать в главных настройках админки джумлы:



В файле шаблона их включение может выглядеть как:



или же функцией

mosShowHead();

, которая в свою очередь определяется в файле includes/frontend.php

Новый мета-тег вида можно добавить в индексном файле шаблона сайта строчкой $mainframe->appendMetaTag( 'мой тег', 'мой контент' ); перед вызовом mosShowHead(); , хотя можно, конечно добавить его как простой html.
Вывод же тегов происходит в строчках функции mosShowHead();:

if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
$cache =& mosCache::getCache('com_content');
echo $cache->call('mainframe->getHead', @$_SERVER['QUERY_STRING'], $id);
} else {
echo $mainframe->getHead();
}
не зависимо от ветвления обращаемся к $mainframe->getHead();
$mainframe в данном случае - обозначение класса mosMainFrame, который находится в includes/joomla.php, а getHead() - соответственно его метод ( function getHead()), который представляет собой ни что иное, как:

function getHead() {
$head = array();
$head[] = '';
foreach ($this->_head['meta'] as $meta) {
if ($meta[2]) {
$head[] = $meta[2];
}
$head[] = '';
if ($meta[3]) {
$head[] = $meta[3];
}
}
foreach ($this->_head['custom'] as $html) {
$head[] = $html;
}
return implode( "\n", $head ) . "\n";
}

, который возвращает массив $head, в данном случае нам интересна строчка:
$head[] = '';

_head['meta'] был определен выше и заполняется в функциях appendMetaTag и prependMetaTag.
_head['meta'][$i][номер], где $i - номер очередного мета-тега, а "номер" - номер фразы в метатеге, например в номер name="keywords" будет равен нулю, а content="joomla" - единице

Другие мета-теги, такие как "robots", добавляются в фк-циях в /componentes/com_content/content.php, напр:

function set_robot_metatag ( $robots) {
global $mainframe;
if ( $robots == 0 ) {
$mainframe->addMetaTag( 'robots' , 'index, follow' );
}

Не забывайте про мамботы, такие как joomsef_metabot, которые так же могут заниматься выводом тегов!


Напоследок - titles:

Иногда на главной странице выводится title таким образом: "заголовок материала" - "название сайта", а на других страницах только "заголовок материала". Для оптимизации поиска лучше, чтобы на title всех страниц значилось название сайта тоже. Этого можно добиться, изменив немного код:

function setPageTitle класса mosMainFrame в /includes/joomla.php
нужно оставить раскомментированными только следующие строчки:

$title = trim( strip_tags( $title ) );
$tseparator = @$GLOBALS['mosConfig_tseparator']? $GLOBALS['mosConfig_tseparator'] : ' - ';

$this->_head['title'] = $title ? $title . $tseparator . $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename'];
Последнее обновление ( 14.10.2005 г. )
Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку