Да, и меня она как-то давно вот тут интересовала
http://ru-mambo.ru/smf/index.php/topic,13361.0.htmlНу и конечно, сразу меня smart направил на:
давным давно я предлагал следующий вариант решения проблемы:
в файле frontend.php строки:
....
Данная модификация позволит вставлять глобальные мета только на главной страице, а на всех остальных они вставляться не будут.
Потом я уже подобрался и к правке content.html.php, чтобы не клеило на главной.
Но ведь, по первому хаку, на всех остальных страницах (например галерери, архивы) - глобал вообще отсутсвует в мета. Поэтому как бы не совсем то.
У себя я этот вопрос уже данво так решаю (прошу прощения, если это совсем не ново, просто в других темах этого не встречал я):
1. Соответсвенно как и от
smart - frontend.php, только по другому
$description='';
$keywords = '';
if (count ($mainframe->_head['meta'])) {
foreach($mainframe->_head['meta'] AS $key => $value){
if( $mainframe->_head['meta'][$key][0]=='description'){
$description .= $mainframe->_head['meta'][$key][1];
}elseif ($mainframe->_head['meta'][$key][0]=='keywords'){
$keywords .= $mainframe->_head['meta'][$key][1];
}
}
}
if (!$description) $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
if (!$keywords) $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
Этим мы избегаем приклея глобал-мета в контенте и оставляем возможность их клеить в других компонентах (в большинстве они-мета вообще отсутствуют, не во всех конечно, например в VM при просмотре деталей товара, категории, а в докмэне их нет). Тем более, теперь даже контент, если мы забыли написать туда мета - теперь пустовать он не будет - хотя бы глобал
2. Ну и соответственно для content.html.php - чтобы к главной не лепило (а иначе мета есть-и проверка даст то, что и глобал не приклеится) - код выше в ответе smart
По-моему, теперь все универсально под любой компонент.
В общем, если кто-то подскажет лучше - буду рад.