|
Правила •
Регистрация •
Справка Сообщения за день • Поиск |
|
|
Опции темы | Опции просмотра |
Напильникъ - наше все
|
Нашел еще один смешной косячок - на этот раз с мета-генератором.
Достало меня уже, что даже при просмотре конкретной темы в форуме в заголовок страницы все равно шел заголовок вида "Название форума : Форум : Описание сайта". Это было неудобно и для пользователей (если открыто несколько страниц с разными темами одного форума - найти нужную только по заголовкам панели заголовкам в панели задач/предпросмотре мягко говоря проблематично), и для поисковых пауков (тот же Гугль регулярно рапортовал, что есть много страниц с дублирующимся заголовком). Как обычно, ларчик открывался просто. Текущая реализация мета-генератора использует только ОДИН модуль для генерации заголовка и мета-тега, основываясь на следующем правиле: 1. Смотрим на директорию metagenerator в каталоге модуля 2. Если такой директории нет - идем по старому пути (т.е. в подпапке метагенератора в модуле system) 3. В директории метагенератора ищем ПЕРВЫЙ файл, название которого совпадает с именем одной из GET переменных. Подход понятен и вполне работоспособен для новостей, глоссария, статей и многих других модулей - но дает сбой на нашем любимом (не у всех) newbb_plus - именно потому, что при отображении в дефолтном модуле темы форума мы имеем ДВЕ GET переменные: forum и topic_id. Соответственно во всех случаях (неважно, смотрим мы сам форум или тему форума) для генерации заголовка и мета-тега используется модуль forum.php. Эта неприятность неактуальна для доработки форума от Zormax'а, но что делать любителям дефолтных вещей или людей, у которых форум уже закастомизирован по самое не балуй? Один из самых простых способов - это простейшая модернизация модуля метагенератора forum.php: анализируем внутри модуля наличие GET переменной topic_id, и если эта переменная задана - генерируем мету и заголовок для темы, если нет - то генерируем мету и заголовок для форума. В результате получаем вот такое содержимое файла forum.php: PHP код:
Последний раз редактировалось ZlydenGL, 03-17-2010 в 09:50 Причина: Добавил простые примечания в код Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
|
|
Powered by: vBulletin Version 3.0 Copyright ©2000-2025, Jelsoft Enterprises Ltd. |
Все разделы прочитаны - Руководство форума - Архив - Вверх |