Искать  
 
   
 
fieldframe_121 и  искажение символов
Отправлено: 17 Июль 2009 01:28 P.M.   [ Игнорировать ]
Новичок
Rank
Всего сообщений:  35
Зарегистрирован  2008-10-13

Привет!
сделал поле с типом FF Matrix. Первый столбец тип text, второй тип select и для него указан список возможный значений кириллическими символами.
В админке при роботе с этим полем все ок, при работе с SAEF при добавлении нового ряда символы почему то покарежены.
В тексте страницы есть скриптик который как раз и добовляет строки для элементов fieldframe,
так в исходниках страницы админки есть записи типа
<option value=’\\u0433\\u0440. (\\u0433\\u0440\\u0430\\u043c\\u043c)’>\u0433\u0440. (\u0433\u0440\u0430\u043c\u043c)<\/option>
для SAEF
<option value=‘u0433u0440. (u0433u0440u0430u043cu043c)’>u0433u0440. (u0433u0440u0430u043cu043c)</option>
т.е. фактически кривизна в формировании кода яваскрипта fieldframe, в отсутствии бэкслешей.
Кто нибудь сталкивался? как исправить?

Профиль
 
 
Отправлено: 17 Июль 2009 06:22 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

попробуйте почистить cache

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 17 Июль 2009 10:28 P.M.   [ Игнорировать ]   [ # 2 ]
Новичок
Rank
Всего сообщений:  35
Зарегистрирован  2008-10-13

кэширование не было включено, поэтому особо чистить нечего.
c латинскими символами отображается все нормально.
у меня используется кодировка utf8, если не смогу найти причину проблемы
проще будет переписать яваскрипт вручную, не так универсально как автоматическое формирование скрипта через расширение, но будет надежнее.

Профиль
 
 
Отправлено: 18 Июль 2009 08:29 P.M.   [ Игнорировать ]   [ # 3 ]
Модератор
Avatar
RankRankRank
Всего сообщений:  154
Зарегистрирован  2008-05-06

скорее всего дело не в fieldframe, а настройках работы с базой
т.е. может быть у вас база в одной кодировке (скажем в latin1) а данные пишутся и извлекаются в утф8,  вот и катавасия
но на свяикй случай можно проверить расширение на предмет наличия всяких там convert_ascii

 Подпись 

http://www.intoEEtive.com

Профиль
 
 
Отправлено: 20 Июль 2009 10:44 A.M.   [ Игнорировать ]   [ # 4 ]
Новичок
Rank
Всего сообщений:  35
Зарегистрирован  2008-10-13

проблема в ЕЕ, вернее в правильности использования ЕЕ где-то в области предварительных обработок данных перед выводом.
есть такой код в ft.ff_matrix.php, думал что проблема в json_encode

$this->insert_js('jQuery(window).bind("load", function() {' NL
                       
'  jQuery("#'.$field_name.'").ffMatrix("'.$field_name.'", '.json_encode($cell_defaults).', '.$max_rows.');' NL
                       
'});'); 

потом просто добавил для отладки

echo json_encode($cell_defaults); 

оказалось что выдает все правильно с бэкслэшами, но не в том месте где нужно ))

проблема решилась добавлением дополнительных бэкслэшей в выводимых строках.
правим файл ext.fieldframe.php функция  weblog_standalone_form_end($tagdata)
было

foreach(array_unique($snippets) as $snippet)
                
{
                    $tagdata 
.= NL.$snippet.NL;
                

стало

foreach(array_unique($snippets) as $snippet)
                
{
                    $snippet 
str_replace("\\""\\\\"$snippet);
                    
$tagdata .= NL.$snippet.NL;
                

просьба к разумеющим английский, киньте плс описание проблемы с решением на http://getsatisfaction.com/brandonkelly/products/brandonkelly_fieldframe ,
может автор подскажет более грамотное решение.

Профиль