Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian 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
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Каким образом вы свой магазин подключили?

И RealURL и Cooluri могут заменить productID=хх на название продукта, если вы им укажите какую-либо таблицу из базы TYPO3 и на что заменять ID. Т.е. таблица как минимум должна содержать uid и какое-нибудь поле title, и быть зарегистрирована в TYPO3 (т.е. создана каким-либо установленным в системе экстеншеном).
dmartynenko вне форума   Ответить с цитированием
Старый 31.08.2009, 19:47   #3
reva2
Senior Member
 
Аватар для reva2
 
Регистрация: 31.08.2007
Адрес: Ростов-на-Дону
Сообщений: 206
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
И RealURL и Cooluri могут заменить productID=хх на название продукта, если вы им укажите какую-либо таблицу из базы TYPO3 и на что заменять ID. Т.е. таблица как минимум должна содержать uid и какое-нибудь поле title, и быть зарегистрирована в TYPO3 (т.е. создана каким-либо установленным в системе экстеншеном).
Еще одним ключевым моментом является то, что для генерации ссылок должна быть использована функция typolink.
reva2 вне форума   Ответить с цитированием
Старый 31.08.2009, 19:49   #4
Никита
Продвинутый
 
Регистрация: 11.02.2009
Сообщений: 65
По умолчанию

Я сделал своё расширение, таблица с uid (у меня product_id) и title естественно есть, так где можно установить правила подмены url. Файл для ссылок уже есть.
Никита вне форума   Ответить с цитированием
Старый 01.09.2009, 11:55   #5
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Читайте документацию по Cooluri. Там должно быть все подробно расписано. Я могу дать готовый пример только для RealURL.

Цитата:
Еще одним ключевым моментом является то, что для генерации ссылок должна быть использована функция typolink.
Кстати это существенный момент.
Вы еще не сказали как именно вы встроили магазин?
Что бы преобразовать обычный УРЛ в красивый ЧПУ действительно нужно задействовать логику TYPO3 через вызов функции typolink. Для родных экстеншенов это работает как говорят "out of box". Для "неродных" можно использовать http://typo3.org/extensions/reposito...epath/current/
Но еще нужно преобразовать УРЛ обратно - если ваш магазин совсем никак не связан с TYPO3 и ему вместо productID=4 будет передано http://www.localhost/shop/product_name/ что он будет с этим делать?
dmartynenko вне форума   Ответить с цитированием
Старый 01.09.2009, 12:25   #6
Никита
Продвинутый
 
Регистрация: 11.02.2009
Сообщений: 65
По умолчанию

Спасибо. Давайте пример для realurl, пожалуйста.
Никита вне форума   Ответить с цитированием
Старый 01.09.2009, 13:04   #7
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

В файл конфигурации 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
dmartynenko вне форума   Ответить с цитированием
Старый 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
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от Никита Посмотреть сообщение
1. В моём собственном интернет-магазине все ссылки изначально "красивые", поэтому я не нуждаюсь в использовании функции typolink(), правильно, она нужна только для переписывания ссылки - из динамической в статическую?
Так зачем вам вообще связываться с TYPO3 и его механизмами работы с URL ?
Если вас магазин установлен в отдельном каталоге с именем /shop/, то TYPO3 вообще не будет вызываться - будет вызываться например /shop/index.php и делать все что ему нужно...

Далее судя по вашему RewriteRule вы не даете TYPO3 ничего делать по генерации URL (да и файлов realconf.php или real_conf.php не существует, есть только typo3conf/realurl_conf.php).

Поэтому получая указанный URL RealURL и TYPO3 пытаются с ним разобраться и честно вам пишут, что страница shop/ найдена в дереве страниц, а дальше не понятно что с вашим URL делать.

Третий раз задаю вам вопрос - как вы подключили ваш магазин к TYPO3? Тогда и решение можно будет предложить по существу, а не предлагать вам то что совершенно не нужно.
dmartynenko вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить расширение 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


Часовой пояс GMT +4, время: 06:18.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория