Стратегия для хранения и отображения данных выпадающих форм для провинций, штатов, префиксов? - PullRequest
2 голосов
/ 06 января 2010

В настоящее время я перехожу из класса, в котором хранятся списки стран, штатов и провинций в виде массивов, к использованию данных Zend Locale в виде ldml xml файлов . Эти файлы ldml предоставляют локализованные списки стран, валют, языков - поэтому я не совсем уверен, где я должен хранить штаты США (Канадские провинции), префиксы - я подумал, возможно, просто создать общий файл XML и сохранить его в том же каталог в виде файлов ldml, но есть сомнения, потому что он не будет локализован, поскольку я буду хранить его на английском языке.

Должен ли я сохранить его в общем xml-файле или, возможно, обновить каждый из файлов локали (например, en.xml) и добавить их? Последнее, вероятно, не стоит работы, поэтому я покачиваюсь только на general.xml или dropdown-data.xml.

Что касается генерации выпадающих опций, я полагаю, я мог бы просто сказать, захватить все штаты США, добавить массив с канадскими провинциями и добавить это с опцией 'Other' - это похоже на правильный путь?

Ответы [ 2 ]

1 голос
/ 06 января 2010

Я тоже столкнулся с этой проблемой.Я использую смесь Zend_Locale и пользовательского XML-файла.

Zend_Locale используется для создания списка стран:

$locale = new Zend_Locale(Zend_Locale::BROWSER);
$countries = $locale->getTranslationList('Territory', Zend_Locale::BROWSER, 2);
asort($countries, SORT_LOCALE_STRING);
// unset invalid countries
unset($countries['SU'], $countries['ZZ'], $countries['IM'], $countries['JE'], $countries['VD']);

Тогда мой пользовательский XML-файл выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<countries>
  <AD>
    <region>Andorra</region>
    <region>Parròquia de Canillo</region>
    <region>Parròquia d'Encamp</region>
    <region>Parròquia de la Massana</region>

Где каждый дочерний элемент <countries> представляет собой двухбуквенный код страны, соответствующий значению ключа $countries.Затем я использую ajax / php / xpath для повторного заполнения раскрывающегося списка штата / провинции в любое время, когда изменяется значение раскрывающегося списка страны.

Не стесняйтесь загружать мой файл XML здесь: http://gregan.org/provinces.xml Я не знаюя не помню, где я получил исходные данные, и при этом я не гарантирую, что они действительны

0 голосов
/ 15 мая 2010

Если вы чувствуете себя действительно амбициозно, вы можете попытаться спроектировать / внести что-то обратно в CLDR, где # 1529 относится к этому типу данных.

...