При создании в файле админке модуля, текстового поля для настройки модуля и вводе русского текста происходит разрушение структуры html страницы. и значение поля не отображается
Как можно исправить?
Грубая ошибка в админке
#1
13 августа 2011 в 10:47
#2
13 августа 2011 в 12:06
вот вообще ничего не понятно что ты спросил.Как можно исправить?
возможно htmlspecialchars тебя спасет, если я правильно тебя понял
#3
13 августа 2011 в 12:49
суть следующая приведу пример кода для админки модуля.
Так вот суть ошибки что если вводить в данное поле в админке английский текст тогда все супер хорошо, а если ввести в данное поле Одесса, то получим разрушение формы.
<?xml version="1.0" encoding="windows-1251"?> <backend> <module> <id>mod_weather</id> <title>Прогноз погоды</title> </module> <params> <param type="string" name="location" title="Город" default="Odessa,UA" /> </params> </backend>
Сегодня в 16:54
#4
13 августа 2011 в 13:02
Максим, я полагаю, что Вы сохраняете "город" в конфиг модуля. Ну, обычными методами ядра. А там происходит преобразование в YAML и обратно.
Прошелся сейчас по таблицам модулей и компонентов. В колонку "конфиг" сохраняются только латиница. Почему то. А там где нужно использовать кириллицу создается отдельная таблица и туда уже вносятся данные без saveComponentConfig. Посмотрите компонент "награды". Также и для модулей.
Может причина в этом.
Прошелся сейчас по таблицам модулей и компонентов. В колонку "конфиг" сохраняются только латиница. Почему то. А там где нужно использовать кириллицу создается отдельная таблица и туда уже вносятся данные без saveComponentConfig. Посмотрите компонент "награды". Также и для модулей.
Может причина в этом.
#5
13 августа 2011 в 13:37
В файле core/classes/formgen.class.php см. функцию getHTML ;)
Попробуй без перекодировки...
foreach($this->params as $key=>$param){ }
foreach($this->params as $key=>$param){ $this->params[$key]['html'] = $param['html']; }
#6
13 августа 2011 в 14:24
Спасибо помогли!