Как запретить Joomla добавлять теги h1 в статьи, связанные из результатов поиска и модуля latestnews?

#joomla #seo #joomla-extensions

#joomla #seo #joomla-расширения

Вопрос:

На моем новом веб-сайте Joomla 1.6 Joomla добавляет тег h1 с текстом «Статьи» во все статьи, доступ к которым осуществляется по ссылке в результатах поиска модуля поиска. То же самое происходит со статьями, на которые ссылаются из модуля Latestnews, но в этом случае текст в добавленном h1 является «Home».

Мне не нужны эти заголовки h1! Пожалуйста, есть предложения?

Ответ №1:

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

Переопределения шаблона существуют в /html/ подпапке вашего шаблона. например Если вы хотите изменить заголовки для элементов поиска (com_search) и используете шаблон rhuk_milkyway, измените файлы, найденные здесь:

 templates/rhuk_milkyway/html/com_search/
  

Откройте php-файлы, (default.php ) а затем измените заголовки, заменив теги H1 вашими собственными тегами.

Если ваш шаблон не содержит переопределяемых файлов или папок, вы можете скопировать переопределения поиска по умолчанию из этой папки:

 components/com_search/view/search/tmpl
  

и вставьте их в папку html вашего шаблона:

 rhuk_milkyway/html/com_search/search/
  

а затем внесите изменения, как указано выше.

Вы можете прочитать больше о переопределениях здесь, хотя эти статьи были написаны для 1.5, концепции все еще применимы для 1.6:

  1. http://docs.joomla.org/Understanding_Output_Overrides
  2. http://docs.joomla.org/How_to_override_the_output_from_the_Joomla !_core

Комментарии:

1. допустим, я переопределяю шаблон для компонента «com_component» и успешно удаляю слово «Статьи» из ссылок в результатах поиска. Но, по-видимому, слово «Home» в заголовке h1, которое появляется в статьях, связанных с первой страницы, не может быть удалено таким образом. Для какого компонента мне нужно переопределить выходные данные? В любом случае, я нашел более простое и грязное решение с использованием javascript. Для тех, кому интересно, посмотрите мой собственный ответ ниже.

Ответ №2:

Я удалил эти заголовки с помощью JavaScript, просто проверив все заголовки h1 и выполнив поиск нежелательных слов в их содержимом, чем установив для их свойства отображения значение none.

 window.onload = function() {
    var h1s = document.getElementsByTagName('h1');
    for(var i=0; i<h1s.length; i  ) {
        var home = h1s[i].innerHTML.substr(2, 4);
        var articles = h1s[i].innerHTML.substr(2, 8);
        if( home == "Home" || articles =="Articles")
            h1s[i].style.display = "none";
    }
}
  

Хотя это не кажется очень элегантным решением, на практике оно работает очень хорошо и эффективно. Кроме того, если мы считаем, что эти теги h1 действительно относятся к содержимому страницы, а решение не показывать их — просто вопрос шаблона, это решение вполне разумно. Код JavaScript выглядит следующим образом:

Я надеюсь, что это будет полезно для других людей. Действительно, я не могу понять, почему нет тысяч других Joomla! пользователи отчаянно пытаются избавиться от заголовка theses.