Как запретить Joomla добавлять теги h1 в статьи, связанные с результатами поиска и модулем последних новостей? - PullRequest
0 голосов
/ 14 апреля 2011

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

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

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

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

Переопределения шаблонов существуют в подпапке /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
0 голосов
/ 06 мая 2011

Я удалил эти заголовки с помощью JavaScript, просто проверив все заголовки h1 и выполнив поиск по нежелательным словам в их содержимом, а затем установив для их свойства display значение 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! пользователи отчаянно пытаются избавиться от заголовка тезисов.

...