Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
31.08.2009, 16:30 | #1 |
Продвинутый
Регистрация: 11.02.2009
Сообщений: 65
|
расширение CoolURL
Здравствуйте, я установил расширение coolurl, подключил свой магазин к typo3, в итоге адреса страниц правильно и красиво переписываются, а вот продукты нет (http://www.localhost/shop/?productID=4, хотелось бы вот так: http://www.localhost/shop/product_name/). В модуле coolurl можно для одного продукта переписать, а можно ли как-нибудь установить правило, чтобы для всех сразу?
|
31.08.2009, 19:39 | #2 |
Senior Member
|
Каким образом вы свой магазин подключили?
И RealURL и Cooluri могут заменить productID=хх на название продукта, если вы им укажите какую-либо таблицу из базы TYPO3 и на что заменять ID. Т.е. таблица как минимум должна содержать uid и какое-нибудь поле title, и быть зарегистрирована в TYPO3 (т.е. создана каким-либо установленным в системе экстеншеном). |
31.08.2009, 19:47 | #3 | |
Senior Member
Регистрация: 31.08.2007
Адрес: Ростов-на-Дону
Сообщений: 206
|
Цитата:
|
|
31.08.2009, 19:49 | #4 |
Продвинутый
Регистрация: 11.02.2009
Сообщений: 65
|
Я сделал своё расширение, таблица с uid (у меня product_id) и title естественно есть, так где можно установить правила подмены url. Файл для ссылок уже есть.
|
01.09.2009, 11:55 | #5 | |
Senior Member
|
Читайте документацию по Cooluri. Там должно быть все подробно расписано. Я могу дать готовый пример только для RealURL.
Цитата:
Вы еще не сказали как именно вы встроили магазин? Что бы преобразовать обычный УРЛ в красивый ЧПУ действительно нужно задействовать логику TYPO3 через вызов функции typolink. Для родных экстеншенов это работает как говорят "out of box". Для "неродных" можно использовать http://typo3.org/extensions/reposito...epath/current/ Но еще нужно преобразовать УРЛ обратно - если ваш магазин совсем никак не связан с TYPO3 и ему вместо productID=4 будет передано http://www.localhost/shop/product_name/ что он будет с этим делать? |
|
01.09.2009, 12:25 | #6 |
Продвинутый
Регистрация: 11.02.2009
Сообщений: 65
|
Спасибо. Давайте пример для realurl, пожалуйста.
|
01.09.2009, 13:04 | #7 |
Senior Member
|
В файл конфигурации typo3conf/realurl_conf.php
в блок postVarSets вставляете что-то вроде: Код:
... 'postVarSets' => array ( ... // страница ID=123 c магазином '123' => array ( 'tovar' => array ( array( 'GETvar' => 'ProductID', 'lookUpTable' => array( 'table' => 'tx_moymagazin_tovary', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT (deleted OR hidden)', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), ), // для ID=123 закончили ... ), ... http://localhost/shop/tovar/zubnaya-schetka/ shop - алиас для страницы 123 с магазином tovar - префикс для распознавания что дальше будет идти код товара zubnaya-schetka - значение поля title из вашей таблицы tx_moymagazin_tovary для указанного ID |
01.09.2009, 13:24 | #8 |
Продвинутый
Регистрация: 11.02.2009
Сообщений: 65
|
СПасибо, разберусь.
|
03.09.2009, 01:21 | #9 |
Продвинутый
Регистрация: 11.02.2009
Сообщений: 65
|
Установил расширение realurl, для обычных страниц работает, а для продуктов - нет.
Хотел бы обратить Ваше внимание на следующие моменты. 1. В моём собственном интернет-магазине все ссылки изначально "красивые", поэтому я не нуждаюсь в использовании функции typolink(), правильно, она нужна только для переписывания ссылки - из динамической в статическую? 2. Обратно переписываю ссылки с помощью директивы в файле .htaccess: "RewriteRule shop/product_name9/ index.php?ProductID=9" 3. В файл realconf.php или real_conf.php вставляю строки: 'postVarSets' => array( '_DEFAULT' => array( //begin of product code '70' => array ( 'shop' => array ( array( 'GETvar' => 'ProductID', 'lookUpTable' => array( 'table' => 'product', 'id_field' => 'product_id', 'alias_field' => 'name', 'addWhereClause' => ' AND NOT (deleted OR hidden)', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), ), //end of product code //---------------------------------------------------------------- // news archive parameters 'archive' => array( array( 'GETvar' => 'tx_ttnews[year]' , В итоге на странице http://www.localhost/shop/product_name9/ надпись: Error! Reason: "shop/name/" could not be found, closest page matching is shop/ Что же всё-таки я неправильно делаю? Заранее спасибо. |
03.09.2009, 13:50 | #10 | |
Senior Member
|
Цитата:
Если вас магазин установлен в отдельном каталоге с именем /shop/, то TYPO3 вообще не будет вызываться - будет вызываться например /shop/index.php и делать все что ему нужно... Далее судя по вашему RewriteRule вы не даете TYPO3 ничего делать по генерации URL (да и файлов realconf.php или real_conf.php не существует, есть только typo3conf/realurl_conf.php). Поэтому получая указанный URL RealURL и TYPO3 пытаются с ним разобраться и честно вам пишут, что страница shop/ найдена в дереве страниц, а дальше не понятно что с вашим URL делать. Третий раз задаю вам вопрос - как вы подключили ваш магазин к TYPO3? Тогда и решение можно будет предложить по существу, а не предлагать вам то что совершенно не нужно. |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как заставить расширение metaext (для добавления метатегов) работать? | Olga25 | Общие вопросы | 6 | 20.07.2009 14:12 |
Есть ли расширение filelist с ограничением доступа для FEUsers? | Sergey V | Общие вопросы | 13 | 27.11.2008 06:19 |
Посоветуйте расширение типо ab_linklist? | djolejek | Общие вопросы | 2 | 23.11.2008 22:12 |
Посоветуйте расширение статистики | shtala | TYPO3: SEO и статистика посещений | 4 | 11.02.2008 03:00 |
Кто-нибудь использовал расширение News FE Edit? | Manas | Общие вопросы | 9 | 07.12.2007 21:27 |