![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
|
|
#1 |
|
Новенький
Регистрация: 24.10.2005
Сообщений: 4
|
Я его поставил. Да вот отношения к моей проблеме он как мне кажется не имеет.
Я решил установить модуль Front End User Admin Как описывается в документации. Так вот при регистрации нового пользователя при повторной загрузке формы регистрации в полях Личная информация например Логин, Адрес данные отображаются кракозябрами. Я так понял что параметр в форму передается через JavaScript, а именно updateForm('fe_users_form','FE[fe_users][address]',unescape('Ленина%2050')) при этом строка 'Ленина%2050' формируется с использованием php функции rawurlencode. Или я что-то не понимаю? |
|
|
|
|
|
#2 |
|
Новенький
Регистрация: 24.10.2005
Сообщений: 4
|
Что-бы было поняно:
Строка в примере формируется функцией TYPO3_rawurlencode($string), а следовательно отображается правильно 'Ленина%2050' (только пробел заменен на %20) |
|
|
|
|
|
#3 | |
|
Новенький
Регистрация: 03.02.2006
Сообщений: 5
|
Я тоже инсталировал Extension "onet_correctform" вроде как бы помогло но не совсем
Если я прописываю сообщение прямо в файл "t3lib/jsfunc.validateform.js" тогда изображение правильное но если я обрабатываю сообщение через Setup, например как указано ниже или через Constant Editor тогdа сообщение о незаполненных полях выдается также кракозябрами! А это важно для многоязычного сайта :neutral: Может ктонибуть уже с этим сталкивался? Может еще надо чтото вписать в Setup? Установленый Charset = windows-1251 Контактформа здесь: http://pdkprint.ru/index.php?id=31 Цитата:
|
|
|
|
|
|
|
#4 | |
|
Новенький
Регистрация: 03.02.2006
Сообщений: 5
|
Ещё возникает другая проблема после инсталяции exctension "onet_correctform" не работает проверка E-mail.
например Цитата:
|
|
|
|
|
|
|
#5 |
|
Продвинутый
Регистрация: 01.10.2004
Сообщений: 48
|
Всем привет.
Тема остается открытой, как я понимаю. Я установил этот onet_correctform - ничего не изменилось. Надпись об ошибке как была иероглифами, так и осталась. МОжет его как-то настроить надо? В новом репозитории этого ext нет... Описания никакого найти не могу. Может кто сталкивался с подобной проблемой? |
|
|
|
|
|
#6 |
|
Новенький
Регистрация: 03.02.2006
Сообщений: 5
|
Я зделал пару следующих изменений в файле typo3conf/ext/onet_correctform/class.ux_tslib_cObj.php и теперь все как бы работает, но я не знаю, не повлияют ли эти изменение негативно?!
Образец на: Полиграфические услуги Полиграфический Дом [Коммерсантk Однако еще есть маленькая проблема:Проблема состоит в том, что если я меняю выдающее сообщение через Template-Constant-Editor или через Setup, эти изменения не влияют. Только если я редактирую эти сообщения прямо в файле t3lib/jsfunc.validateform.js, изменения действуют. Код:
switch((string)$modeParameters[0]){
case 'EREG':
$fieldlist[] = '_EREG';
$fieldlist[] = rawurlencode($modeParameters[1]);
$fieldlist[] = rawurlencode($modeParameters[2]);
$fieldlist[] = rawurlencode($confData['fieldname']);
//$fieldlist[] = rawurlencode($confData['label']); //Original
$fieldlist[] = $confData['label']; // Мои изменения
$confData['required'] = 1; // Setting this so "required" layout is used.
break;
case 'EMAIL':
$fieldlist[] = '_EMAIL';
$fieldlist[] = rawurlencode($confData['fieldname']);
//$fieldlist[] = rawurlencode($confData['label']); //Original
$fieldlist[] = $confData['label']; // Мои изменения
$confData['required'] = 1; // Setting this so "required" layout is used.
break;
default:
if ($confData['required'] && $confData['type']!='check') {
//$fieldlist[] = rawurlencode($confData['fieldname']); //Original
//$fieldlist[] = rawurlencode($confData['label']); //Original
$fieldlist[] = $confData['fieldname']; // Мои изменения
$fieldlist[] = $confData['label']; // Мои изменения
// SV+
$fieldlist_clean[] = $confData['fieldname'];
$fieldlist_clean[] = $confData['label'];
// SV-
}
break;
}
Код:
if ($conf['REQ']){
// SV+
// original
// $validateForm=' onsubmit="return validateForm(\\''.$formname.'\\',\\''.implode(',',$fieldlist_clean).'\\',\\''.rawurlencode($conf['goodMess']).'\\',\\''.rawurlencode($conf['badMess']).'\\',\\''.rawurlencode($conf['emailMess']).'\\')"';
// изменил
$validateForm=' onsubmit="return validateForm(\\''.$formname.'\\',\\''.implode(',',$fieldlist).'\\',\\''.rawurlencode($conf['goodMess']).'\\',\\''.rawurlencode($conf['badMess']).'\\',\\''.rawurlencode($conf['emailMess']).'\\')"';
// SV-
$GLOBALS['TSFE']->additionalHeaderData['JSFormValidate'] = '<script type="text/javascript" src="'.$GLOBALS['TSFE']->absRefPrefix.'t3lib/jsfunc.validateform.js"></script>';
} else $validateForm='';
|
|
|
|
|
|
#7 | |
|
Новенький
Регистрация: 08.05.2006
Сообщений: 5
|
/**
* Apache 2.0.49 * PHP 4.3.4 * Mysql 4.0.18 * Typo3 4.0 */ Копал сам, вот что нашел. Проблема имеет место при кодировке UTF-8. В файле typo3/sysext/cms/tslib/class.tslib_content.php, формируется текст обработчика события onsubmit() формы так (строка 2027): Код:
$validateForm=' onsubmit="return validateForm(\''.$formname.'\',\''.implode(',',$fieldlist).'\','.t3lib_div::quoteJSvalue($conf['goodMess']).','.t3lib_div::quoteJSvalue($conf['badMess']).','.t3lib_div::quoteJSvalue($conf['emailMess']).')"';
Едем дальше. JavaScript функция validateForm(theFormname,theFieldlist,goodMess,bad Mess,emailMess) в файле t3lib/jsfunc.validateform.js принимает эту строку в качестве параметра theFieldlist, и декодирует ее функцией unescape(). Цитата:
![]() Какая функция javascript раскодирует urlencoded строку и примет во внимание utf-8? Или может я не в том направлении копать начал? Последний раз редактировалось kit; 19.05.2006 в 15:22 |
|
|
|
|