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

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

Ответ
 
Опции темы Опции просмотра
Старый 29.12.2010, 13:56   #1
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

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

Этого и хочется! Как сделать?
dmartynenko вне форума   Ответить с цитированием
Старый 29.12.2010, 14:25   #3
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

В HMENU есть только опция protectLvar, которая делает то что нужно, только для L. Только все завязано на "Alternative Page Language record": если перевода нет, то ссылка формируется без на страницу без учета L.

То есть в TYPO3 не хватает еще одной опции для страницы "не учитывать переменные из config.linkVars".
dmartynenko вне форума   Ответить с цитированием
Старый 29.12.2010, 15:19   #4
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

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

Не пробовал, но здравый смысл мне подсказывает что при этом ссылки с этой страницы будут без linkVars. А в ссылках на эту страницу с других ничего не поменяется.
dmartynenko вне форума   Ответить с цитированием
Старый 05.04.2011, 19:36   #6
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Решение:
1. Настраиваем в linkVars нашу переменную R
2. Пишем экст, который добавит в pages поле ignore_region - "не учитывать R для это страницы", потом в BE ставим флаг для нужных страниц.
2. Используя хук encodeSpURL_postProc делаем следующее:
PHP код:
    public function postProcessRealURL($params$pObj) {
        
// if page record has "ignore region" flag
        
if ($params['params']['args']['page']['ignore_region']) {
            
$query_params = array();
            
parse_str($params['params']['LD']['linkVars'], $query_params);
            
// remove first URL segments if not in default region
            
if (intval($query_params['R']) > 0) {
                
$params['URL'] = preg_replace('|/[a-z]+/|''/'$params['URL'], 1);
            }
        }
    } 
Все, готово.
Использование хука позволяет решать исходную задачу несколькими способами.
dmartynenko вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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