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

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

Ответ
 
Опции темы Опции просмотра
Старый 28.12.2010, 13:27   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
Question Использование общей GET переменной (аналог L) только на отдельных ветках сайта

Широко известно использование GET-переменной L для многоязычных сайтов. При соответствующей настроке TYPO3 и передаче ее через GET она автоматически добавляется ко всем ссылкам на внутренние страницы.

В одном из проектов хочется сделать региональные версии сайта аналогичным способом. Через TS и RealURL (префиксная переменная) настроена переменная R, которая задает регион. Т.е. при входе на сайт по адресу example.com все ссылки будут example.com/... При входе через example.com/region1/ все ссылки будут example.com/region1/... Соответственно в зависимости от этой переменной на страницах выводится регионально ориентированный контент.

Но есть одна проблема. Хочется что бы некоторые страницы не имели региональной привязки. Например, страница "контакты" (example.com/contacts/) не должна быть регионально зависимой, так как ее содержание не будет меняться в зависимости от региона. А дублирование этой страницы под разными адресами плохо для SEO.

Нужно что бы ссылки и со страниц example.com/... и со страниц example.com/region1/... одинаково ссылались на example.com/contacts/ (а не на example.com/contacts/ и на example.com/region1/contacts/).

Таких общих страниц и подразделов на сайте несколько.

Как этого добиться?
dmartynenko вне форума   Ответить с цитированием
Старый 28.12.2010, 15:18   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Пока из вариантов нашел такую возможность в RealURL
Цитата:
encodeSpURL_postProc

This hook is called before the RealURL returns created URL to the caller. This allows extensions to modify URL in the way they want. The hook receives an array with parameters
Кто нибудь использовал на практике?
dmartynenko вне форума   Ответить с цитированием
Старый 29.12.2010, 10:16   #3
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

а может быть сделать специфичное меню на сайте и определенное дерево страниц:
То есть, сделать такое дерево страниц:
домашняя
region1
region2
...
regionN
contacts
другие спец. страницы

и дополнить основное меню специальным (special.list), в котором указать страницы - contacts (id) и т.п.
либо использовать special.directory, где указать id текущей и id домашней страниц...

Как-то так, додумывать нужно в процессе...
При этом придется покопаться с меню, а пути будут формироваться нормально без каких-либо специальных настроек.

Как-то так...

Последний раз редактировалось Андрей Аксенов; 29.12.2010 в 12:38
Андрей Аксенов вне форума   Ответить с цитированием
Старый 29.12.2010, 12:57   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Если делать дерево страниц, в котором есть region1, region2 и т.д., то придется дублировать в каждом регионе все дерево подразделов.

Этого не хочется - так как работа механическая, придется для каждого поддерева все id страниц в CE и FF ручками переписывать. Конечно у подхода есть и достоинства - например возможность кастомизировать дерево страниц для каждого региона. Но такой задачи у нас сейчас не стоит.

То как сейчас работает в целом устраивает:
1. Если пользователь заходит на сайт без куки "регион", то его по GeoID редиректит на example.com/?R=XX
2. Он может выбрать регион - т.е. по сути сменить R=YY, при этом для него сохраняется кука "регион"

Соответсвенно вся региональность завязана на GET переменную R. Ее можно использовать как в своих экстеншенах, так и в TS условиях для донастройки других экстеншенов. При этом не надо завязываться на id конкретных страниц в дереве.
dmartynenko вне форума   Ответить с цитированием
Старый 29.12.2010, 13:56   #5
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Так а id страницы с контактами известен? Почему бы не использовать TS condition чтобы настроить именно для этой страницы отображение без региональной переменной?
-=UncleByte=- вне форума   Ответить с цитированием
Старый 29.12.2010, 14:15   #6
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Этого и хочется! Как сделать?
dmartynenko вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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