Здравствуйте, кто знает как сделать чтобы титл подфорумов бл такого вида: Подфорум - Категория - Титл сайта, сейчас титл такой: Подфорум - Титл сайта
например в dle есть такая фича Метатег title: который заменят весь титл на то, что в нем напишешь, ох он бы мне не помешал сейчас бы)
а еще лучше если титл будет по уровням Подфорум - Форум - Раздел - Титл форума
Страница 1 из 1
Title подфорума IPB 3.3.1
#2
Отправлено 01 Август 2012 - 23:05
Чтобы поменять саму систему назначения заголовков, придется много редактировать в коде форума, а потом еще и переносить эти многочисленные правки от версии к версии. Заголовки, как правило, задаются в файлах интерфейсов вида /admin/applications/приложение/modules_public/группа_действий/действие.php, функцией $this->registry->output->setTitle(), или её вариацией $this->registry->getClass('output')->setTitle().
На примере форума - /admin/applications/forums/module_public/forums/forums.php (207):
Как видите - никаких родительских форумов тут нет - "название форума - название всего сайта". Причем нигде в коде тут тоже не ищется и не проверяется существование родительского форума, так что, чтобы найти этот родительский форум, вам потребуется самостоятельно выполнить дополнительный SQL-запрос, проверить его результаты и в зависимости от них применять разные функции setTitle - т.е. написать строк 5-6 кода. То же самое придется сделать для топиков (topics.php) в той же папке, и, если есть такое желание, и для 76 других методов в соседних приложениях и их интерфейсах.
В общем, работа достаточно муторная, и, если вы регулярно обновляетесь, бестолковая, т.к. эти правки в дальнейшем придется при обновлениях таскать за собой.
Есть 2 варианта, как можно сделать это аккуратнее, без правок:
1) Написать хук, который будет перегружать все эти интерфейсы, оставляя их вывод как есть, но затирая тайтлы и полностью заменяя их на вашу схему. По сути это будет хук объемом ( 6-10 строк * количество мест, где вам не нравятся тайтлы). Хук будет в основном без проблем переноситься с версии на версию - вы будете без проблем обновляться, а он будет тихо делать свою работу. Весь код по дозапросу данных будет у вас в одном месте, все спокойно и благородно. Единственный момент - нужно, чтобы этот хук кто-то написал. Если приведете список и схемы всех нужных тайтлов, то за приемлемое вознаграждение я вам такой персональный хук сделаю
2) Зайти вообще с другой стороны, и использовать хуки, которые позволяют переопределять любой тайтл на любой странице. Например, у меня есть готовый бесплатный хук Meta Everywhere, позволяющий вам переопределять тайтл и все основные meta-теги на основании текущего uri. Просто выполните немного рутины - внесете все ваши форумы в этот хук. В будущем так же сможете менять заголовки и meta у каких-то определенных форумов, тем и других страниц форума на свое усмотрение.
Оба варианта можно и сочетать.
На примере форума - /admin/applications/forums/module_public/forums/forums.php (207):
$this->registry->getClass('output')->setTitle( strip_tags($this->forum['name']) . ' - ' . ipsRegistry::$settings['board_name'] );
Как видите - никаких родительских форумов тут нет - "название форума - название всего сайта". Причем нигде в коде тут тоже не ищется и не проверяется существование родительского форума, так что, чтобы найти этот родительский форум, вам потребуется самостоятельно выполнить дополнительный SQL-запрос, проверить его результаты и в зависимости от них применять разные функции setTitle - т.е. написать строк 5-6 кода. То же самое придется сделать для топиков (topics.php) в той же папке, и, если есть такое желание, и для 76 других методов в соседних приложениях и их интерфейсах.
В общем, работа достаточно муторная, и, если вы регулярно обновляетесь, бестолковая, т.к. эти правки в дальнейшем придется при обновлениях таскать за собой.
Есть 2 варианта, как можно сделать это аккуратнее, без правок:
1) Написать хук, который будет перегружать все эти интерфейсы, оставляя их вывод как есть, но затирая тайтлы и полностью заменяя их на вашу схему. По сути это будет хук объемом ( 6-10 строк * количество мест, где вам не нравятся тайтлы). Хук будет в основном без проблем переноситься с версии на версию - вы будете без проблем обновляться, а он будет тихо делать свою работу. Весь код по дозапросу данных будет у вас в одном месте, все спокойно и благородно. Единственный момент - нужно, чтобы этот хук кто-то написал. Если приведете список и схемы всех нужных тайтлов, то за приемлемое вознаграждение я вам такой персональный хук сделаю

2) Зайти вообще с другой стороны, и использовать хуки, которые позволяют переопределять любой тайтл на любой странице. Например, у меня есть готовый бесплатный хук Meta Everywhere, позволяющий вам переопределять тайтл и все основные meta-теги на основании текущего uri. Просто выполните немного рутины - внесете все ваши форумы в этот хук. В будущем так же сможете менять заголовки и meta у каких-то определенных форумов, тем и других страниц форума на свое усмотрение.
Оба варианта можно и сочетать.
#3
Отправлено 11 Сентябрь 2012 - 00:07
Meta Everywhere - очень заинтересовал!
1 не дает скачать с community.invisionpower.com/
2 Supported IPS Software Version: 3.1.x как я понимаю делает его не актуальным?
1 не дает скачать с community.invisionpower.com/
2 Supported IPS Software Version: 3.1.x как я понимаю делает его не актуальным?
#4
Отправлено 11 Сентябрь 2012 - 08:19
1 не дает скачать с community.invisionpower.com/
Активная лицензия имеется, приобретенная у ips?
2 Supported IPS Software Version: 3.1.x как я понимаю делает его не актуальным?
А еще вариант:
Единственный момент - нужно, чтобы этот хук кто-то написал. Если приведете список и схемы всех нужных тайтлов, то за приемлемое вознаграждение я вам такой персональный хук сделаю
#6
Отправлено 11 Сентябрь 2012 - 20:27
На неделе доделаю свой сайт и там выложу актуальные копии всех когда-либо созданных хуков.
- ← Настройки апача и мускула
- Настройка на сервере, оптимизация и SEO
- УРЛы вида "форум.ру/НАЗВАНИЕ-РАЗДЕЛА/название темы →
Сообщить об этой теме:
Страница 1 из 1