PDA

Просмотр полной версии : pagepath


Никита
22.09.2009, 20:06
Насколько я понимаю этот 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.

Никита
24.09.2009, 17:11
Спасибо, я уже сам разобрался!

Никита
29.09.2009, 18:31
Кстати, знаете ли Вы, как делать содержимое тега 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. Код выше сделан в предположении что заголовок выглядит как "Название страницы - Имя сайта".

Никита
29.10.2009, 18:03
А мета-теги для каждой карточки товара как заполняются?

dmartynenko
30.10.2009, 14:32
Могут разными способами.
Так как вы так и не прояснили как вы интегрируетесь с TYPO3, то и посоветовать вам что-то адекватное сложно.

Никита
30.10.2009, 15:47
Мне, в принципе, достаточно знать как это делается для extendedshop, дальше дело техники.

Никита
21.12.2009, 13:42
Есть работающий пример для генерации уникальных заголовков и мета-тегов для страниц с подробным описанием товара для магазина extendedshop (инфа берётся из базы данных) или руководство на русском, английском или немецком языках?