Ну, я продолжаю улучшать свои классы генерации форм и застрял в возвращении всех элементов страны в массиве country_data. Только первые два элемента отображаются в раскрывающихся меню.
Вот класс раскрывающегося списка:
//drop down form class
class DropDown
{
function __construct ($form, $field_label, $field_name, $field_desc, $dropdown_data, $locale){
$this->form = $form;
$this->field_label = $field_label;
$this->field_name = $field_name;
$this->field_desc = $field_desc;
$this->dropdown_data = $dropdown_data;
$this->locale = $locale;
}
function getNotRequiredData(){
global $notReqArry;
return $notReqArry[$this->locale];
}
function getValue(){
return $_POST[$this->field_name];
}
function option(){
foreach ($this->dropdown_data as $key=>$value){
return $options = sprintf('%s',$key,$value);
};
}
function dropdown(){
return $select_start = "field_name\">$this->field_desc".$this->option()."";
}
function getLabel(){
$non_req = $this->getNotRequiredData();
$req = in_array($this->field_name, $non_req) ? '<sup></sup>' : '<sup>*</sup>';
return $this->field_label ? $req . $this->field_label : '';
}
function __toString(){
$id = $this->field_name;
$label = $this->getLabel();
$field = $this->dropdown();
return 'field_name.'">'.$label.''.$field.'';
}
}
И я использую дополнительную функцию для дополнительных опций:
function generateForm ($lang,$country_list){
switch($lang)
{
case 'en-US':
//create EN web form
echo $countryField = new DropDown ($form, 'Country', 'form_country', '--Select Country--', $country_list, 'en-US');
break;
case 'fr-FR':
//create FR web form
break;
case 'de-DE':
//create DE web form
break;
case 'ja-JP':
//create JA web form
break;
default:
//create default web form
print('foooo');
};
}
И я называю generateForm fun внизу страницы.
$lang='en-US';
echo generateForm ($lang,$country_list);
В предыдущем вопросе один эксперт упомянул, что $ key и $ value в foreach не являются объектами, но я не понимаю, что мне нужно здесь для большей логики. Да, я действительно новичок в PHP и у меня небольшой опыт работы с AS. Мне нужна помощь.
Спасибо.