Russian TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 27.03.2007, 14:00   #1
theoretic
Новенький
 
Регистрация: 22.02.2007
Сообщений: 2
По умолчанию RealURL и TMENU: need help

Итак, имеем:

-- WinXP + Denwer + виртуальный хост project.local;
-- свежеустановленный на project.local Typo3 4.1 (русификация, UTF-8);
-- установленный на Typo3 RealURL 1.1.4;
-- .htaccess:

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

-- root-шаблон примерно такого вида:

page = PAGE
page.typeNum = 0

#lang
page.config.language = ru
config.metaCharset = utf-8
config.renderCharset = utf-8

#realurl
config.simulateStaticDocuments = 0
config.tx_realurl_enable = 1

...

-- структура тестового сайта:

Главная
-- Приборы (псевдоним devices)
---- ...
---- ...
-- Софт (псеводним software)
-- О компании
-- ...

Суть проблемы. RealURL благополучно транслирует псеводнимы и создаёт ЧПУ вида /devices/ , /software/ и т.п. Простенькое TMENU на главной странице, соответственно, ссылается именно на такие адреса.

Однако достаточно перейти, например, на страницу /devices/ -- и TMENU начинает глючить. Вместо адресов вида

/devices/
/software/

в TMENU получаются адреса вида

/devices/devices/
/devices/software/

, то-есть навигация становится относительной относительно текущего "раздела".

Что ещё хуже -- при попытке обратиться к страницам со вложенностью более 2 (напр., /devices/software/pc/) вылазит аналог 404-й ошибки typo3, предлагающий closest match.

В каком месте ДНК ошибка у разработчика?
theoretic вне форума   Ответить с цитированием
Старый 27.03.2007, 14:29   #2
PhilD
Senior Member
 
Регистрация: 10.03.2006
Адрес: Moscow, Russia
Сообщений: 429
Отправить сообщение для PhilD с помощью ICQ Отправить сообщение для PhilD с помощью Yahoo
По умолчанию

ЕМНИП: для нормальной работы с aliases нужна какая-то дополнительная конфигурация realurl, посмотрите в документации. Для прямого задания адреса используется Speaking URL path segment.
И, кстати, baseurl в конфигурации есть?
Ну и конфиг реалурл тоже не мешает посмотреть.
PhilD вне форума   Ответить с цитированием
Старый 27.03.2007, 16:00   #3
theoretic
Новенький
 
Регистрация: 22.02.2007
Сообщений: 2
По умолчанию Сенкс элот!

Действительно, свежеустановленный RealURL ничего не пишет в localconf.php . Тем, кто ещё не баловался с RealURL, предлагаю код, который можно поставить в localconf.php для того, чтобы RealURL корректно разбирал адреса вида

/production/devices/megadevice/description



Код:
//realURL configuration

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array
	(
	'init' => array
		(
		'appendMissingSlash' => true,
		),

	'preVars' => array
		(
		array
			(
			'GETvar' => 'L',
			'valueMap' => array
				(
				),
			'noMatch' => 'bypass',
			),
		),

	'pagePath' => array
		(
		'type' => 'user',
		'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
		'spaceCharacter' => '-',
		'languageGetVar' => 'L',
		'expireDays' => 30
		),

	'postVarSets' => array
		(
		'_DEFAULT' => array
			(
			),
		),
	);

Самое важное в этом куске кода -- вызов класса tx_realurl_advanced .
Пустые массивы оставлены намеренно, чтобы в дальнейшем можно было что-то туда подставить.

И ещё одна тонкость. RealURL, похоже, не работает без указания в шаблоне baseURL = http://yoursite.tld .
theoretic вне форума   Ответить с цитированием
Старый 20.05.2007, 16:43   #4
KWINCH
Новенький
 
Регистрация: 20.05.2007
Сообщений: 1
По умолчанию Была такая проблема

Была аналогичная проблема два дня назад.
Все решилось установкой config.baseURL = http://www.mycompany.ru/ (именно так, а не config.baseURL = www.mycompany.ru) в корневом шаблоне.
KWINCH вне форума   Ответить с цитированием
Старый 06.07.2007, 11:04   #5
javaPro
Продвинутый
 
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
По умолчанию

Подскажите пожалуста кто может, у меня проблемма:
Создан сайт такого вида:

Главная страница (адрес к примеру http://www.mysite.com/)

- Колледж 1 (переход на эту страницу происходит с главной)
--О колледже 1 (эта страница и те что под ней доступны только со страници "Колледж 1")
--- Страница
--- Страница 2
--Курсы
---Страница
---Страница 2

-Колледж 2
--О колледже 2
--- Страница
--- Страница 2
--Курсы
---Страница
---Страница 2

ну и так далее.

Проблемма в том как сделать что переходя к примеру на страницу "Колледж 1 -> О колледже" показывался такой путь:

http://www.mysite.com/college-1/about-college-1.html

Подскажите как такое сделать, зарание благодарен (очень нужно)

П.С. Код выше у меня работает но только до уровня http://www.mysite.com/college-1/ как только иду далее по меню, третий и четвертые уровни отображаются как http://www.mysite.com/about-college-1/stranica/
javaPro вне форума   Ответить с цитированием
Старый 06.07.2007, 11:21   #6
demav
Senior Member
 
Аватар для demav
 
Регистрация: 21.04.2006
Сообщений: 245
По умолчанию

Цитата:
Сообщение от javaPro Посмотреть сообщение
Подскажите пожалуста кто может, у меня проблемма:
П.С. Код выше у меня работает но только до уровня http://www.mysite.com/college-1/ как только иду далее по меню, третий и четвертые уровни отображаются как http://www.mysite.com/about-college-1/stranica/
Если я правильно понял суть вопроса, то надо просто указать имя для ЧПУ ссылки у страницы. Для этого поставить тип страницы "Продвинутый" (Advanced) и в поле "Speaking URL path segment" написать нужное название
demav вне форума   Ответить с цитированием
Старый 06.07.2007, 11:35   #7
javaPro
Продвинутый
 
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
По умолчанию

Сделал то что вы написали, вот что я получаю когда перехожу по ссылке:

Error!
Reason: Segment "al-khamikhlala" was not a keyword for a postVarSet as expected!

П.С. "al-khamikhlala" это то что я прописал в "Speaking URL path segment"
javaPro вне форума   Ответить с цитированием
Старый 06.07.2007, 11:53   #8
demav
Senior Member
 
Аватар для demav
 
Регистрация: 21.04.2006
Сообщений: 245
По умолчанию

Вообще-то, уже получается офтопик относительно первоначальной темы.

Я с такой ошибкой не встречался, но интернет пестрит страницами с данной ошибкой, воспользуйтесь поиском.
demav вне форума   Ответить с цитированием
Старый 06.07.2007, 14:03   #9
javaPro
Продвинутый
 
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
По умолчанию

Попытаюсь обьеснить ситуацию ясней:

Ссылка в меню третьего уровня не содержит сегмента для страницы второго уровня.
Пример того как должна выглядеть ссылка для меню третьего уровня:

http://mysite.com/page-level1/page-level2/page-level3/ , а получается http://mysite.com/page-level1/page-level3/, т.е. page-level2 оказывается пропущено.

Для меню второго уровня все работает нормально и без всяких сбоев.

Надеюсь что щас немного яснее проблемма (Спасибо demav за помощь в разъеснении)
javaPro вне форума   Ответить с цитированием
Старый 06.07.2007, 14:56   #10
javaPro
Продвинутый
 
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
По умолчанию

Вопрос снимается, ошибка была найдена.

Спасибо огромное demav за оказаную помощь!!!
javaPro вне форума   Ответить с цитированием
Ответ

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TMENU - трудности перевода... Future Общие вопросы 13 30.01.2007 21:53
TMENU: data = page:subtitle??? gunner Общие вопросы 4 12.10.2006 16:28
RealUrl изменение alias'ов salah Общие вопросы 2 26.11.2005 19:54
Не на всех ссылках срабатывают realurl alias salah Общие вопросы 0 23.11.2005 20:14
ссылки в элементах TMENU Юрий Сегеда Общие вопросы 2 10.11.2005 17:17


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


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

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