Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
25.01.2008, 17:06 | #1 |
Senior Member
Регистрация: 05.04.2006
Сообщений: 105
|
как установить title из плагина в templavoile
Всем доброго дня.
Мой плагин выводит информацию о продуктах. Для каждого продукта нужно установить свой title на странице. Эта задача решалась установкой $GLOBALS['TSFE']->page['title'] = "Мой заголовок"; и для правильного индексирования (бок индексд_серча) $GLOBALS['TSFE']->indexedDocTitle = $GLOBALS['TSFE']->page['title']; теперь есть templavoila (до этого были ТС шаблоны), которая как я понимаю сама генерит хедер хтмл. Вопрос: Как из плагина можно аналогично подставить свой текст в title? заранее спасибо Евгений |
25.01.2008, 21:56 | #2 |
Senior Member
|
Можно отключить стандартную генерацию <title> и всё сделать руками.
config.noPageTitle = true Кроме того, (имхо) лучше и весь хедер генерировать руками вместо простановки галочек в TV. Здесь мнения расходятся, но иметь угрозу ремаппинга при каждой модификации head-части имхо хуже, чем написать 10 строк TS.
__________________
TYPO3 FAQ |
28.01.2008, 18:55 | #3 |
Senior Member
Регистрация: 05.04.2006
Сообщений: 105
|
спасибо за ответ
удалось полечить. закопался в исходники темплы и тайпы краткое описание задачи мой плагин получает параметры в урле и выводит инфу о продуктах. Далее, страница с описанием каждого продукта должна быть еще и проиндексирована индескед_сёрчем. Для удобства поиска каждая страница должна иметь в теге тайтл страницы название и внутренний номер продукта в системе клиента. (мы интегрируемся с его БД). Значит плагин должен не только показать описание продукта в контенте, а еще и задать тайтл тег для страницы. Сколько продуктов, столько и страниц со своим тайтлом в индексе. Как работает тайпа (генерирование страницы) процесс устроен таким образом, что контент страницы генерируется раньше по времени чем хедер страницы. Естественно предположить, что тайпа вызовет код моего плагина раньше чем приступит к генерированию хедера и я могу смело установить тайтл: PHP код:
1) Не меняется тайтл вобще: для того, чтобы контент плагина был проиндексирован прежде всего надо убедиться, что тип у плагина USER (т.е. кэштруемый и соответсвенно индексируемый это принципиально) а не USER_INT (т.е. динамический и соответсвенно некэштруемый и неиндексируемый). Если тип плагина USER_INT тайпа вызывает его код после того как сгенерирован кэшируемый контент и заголовки с тайтлами. Следовательно какие-бы изменения тега тайтл не были произведены в этот момент из кода плагина, они не попадут ни во фронтенд ни в индекс. Другими словами в этом случае нет способа изменить тайтл страницы вообще. 2) Тайтл меняется, но в поиске тайтл для страницы не совпадает с заданным нами, а остаётся таким, как задает его система автоматом. Тут дело в том, что индексед_сёрч в процессе индексации не парсит хтмл код страницы целиком, а пользуется внутренней объектной моделью страницы, и получает доступ к отдельным полям таким как: мета, тайтл, контент и т.п. А вместо поля PHP код:
PHP код:
PHP код:
Наша задача установить так же это поле для успешной индексации. PHP код:
надеюсь это поможет, всем привет Евгений, Харьков Последний раз редактировалось (:); 28.01.2008 в 19:10 |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как установить размеры объекта мультимедиа | student-uni | Общие вопросы | 0 | 30.10.2007 01:05 |
RealUrl. Как использовать другое поле 'alias_field' => 'title' | afl | Общие вопросы | 0 | 29.05.2007 17:13 |
как индексировать title заданный из плагина? | (:) | Общие вопросы | 1 | 31.01.2007 15:09 |
как мне установить csh_ru | Dima | Общие вопросы | 0 | 20.11.2005 06:03 |
Подзаголовок в title и как задавать meta-keywords | MVH | Общие вопросы | 1 | 19.05.2005 20:55 |