Просмотр полной версии : pagepath
Насколько я понимаю этот ext записывает правильные ссылки в базу данных (по крайней мере для coolurl) и генерит правильные красивые ссылки, то есть при вызове соответствующей функции он возвращает: "http://www.domen.ru/../../.."
Вопрос: А можно ли вызывать pagepath, только один единственный раз - чтобы он записывал красивые ссылки в бд, а если эти ссылки уже есть в базе, то сказать ему, чтобы ничего не делал, и самому прописывать все ссылки на странице, а то уж очень он долго это делает, например для страницы с 4 продуктами при подключении pagepath теряется целая секунда - вот настолько страница дольше загружается!!!
dmartynenko
24.09.2009, 13:17
Поясните подробнее в каких целях вы его используете?
Мне кажется что вы находили более быстрое работающее решение:
http://forum.typo3.biz/showthread.php?t=7939&page=2
Спасибо огромное за помощь! С задачей справился!
В итоге остановился на cooluri. А красивые ссылки инсертю в таблицу для cooluri с помощюь триггера, как только пишу новый продукт сразу в соответствующей таблицы показывается url на него.
Но если вы решили все же использовать pagepath, то немного о том что он делает (из его же доков). Он вызывает TYPO3 через механизм eID, которая с помощью стандартных функций TYPO3 генерирует и возвращает ссылку. Сгенерированные ссылки в RealURL/Coolurl кэшируются - поэтому второй запрос на генерацию той же ссылки дожен быть быстрым. Но торомоз может быть в том, что pagepath делает для каждой ссылки отдельный HTTP вызов.
Поэтому если ваше приложение совсем внешнее по отношению к TYPO3 и вы сами его "допиливаете", то возможно имеет смысл у себя кэшировать сгенерированные ссылки и больше не дергать pagepath.
Спасибо, я уже сам разобрался!
Кстати, знаете ли Вы, как делать содержимое тега title разным для каждой страницы, причём не только страниц с разным параметром $_GET['id'], но ещё и страниц с одинаковым id, но с разными другими параметрами.
dmartynenko
30.09.2009, 18:41
Знаю. Но это зависит от того каким образом вы отдаете контент в TYPO3. Есть два способа - через плагин типа USER (кэшируется вместе со страницей), или через плагин типа USER_INT (не кэшируется).
Сразу нюанс - название страницы формируется на этапе генерации страницы и кэшируется (т.е. на самом деле кэшируется полный HTML код страницы).
Соответственно для USER просто и стандартно:
$GLOBALS['TSFE']->page['title'] = $my_header;
$GLOBALS['TSFE']->indexedDocTitle = $my_header;
Для USER_INT это не сработает, так как эти параметры уже не влияют на генерацию страницы. Поэтому есть "хак":
$GLOBALS['TSFE']->content = preg_replace('@<title>(.+) - (.+)</title>@i', '<title>'.$my_header.' - $2</title>', $GLOBALS['TSFE']->content);
Но этот способ зависит от того, как настроено формирование заголовка в TYPO3. Код выше сделан в предположении что заголовок выглядит как "Название страницы - Имя сайта".
А мета-теги для каждой карточки товара как заполняются?
dmartynenko
30.10.2009, 14:32
Могут разными способами.
Так как вы так и не прояснили как вы интегрируетесь с TYPO3, то и посоветовать вам что-то адекватное сложно.
Мне, в принципе, достаточно знать как это делается для extendedshop, дальше дело техники.
Есть работающий пример для генерации уникальных заголовков и мета-тегов для страниц с подробным описанием товара для магазина extendedshop (инфа берётся из базы данных) или руководство на русском, английском или немецком языках?
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot