Я пытаюсь настроить раскрывающийся список часовых поясов для модуля Prestashop.Я следовал этому примеру - http://doc.prestashop.com/display/PS16/Using+the+HelperForm+class#UsingtheHelperFormclass-Selector
Это код, который я использовал для получения списка часовых поясов:
function timezones() {
$timezones = [];
foreach (timezone_identifiers_list() as $timezone) {
$datetime = new \DateTime('now', new DateTimeZone($timezone));
$timezones[] = [
'sort' => str_replace(':', '', $datetime->format('P')),
'offset' => $datetime->format('P'),
'name' => str_replace('_', ' ', implode(', ', explode('/', $timezone))),
'timezone' => $timezone,
];
}
usort($timezones, function($a, $b) {
return $a['sort'] - $b['sort'] ?: strcmp($a['name'], $b['name']);
});
return $timezones;
}
Затем я попытался следовать инструкциям в документации, выполнив это -
$timezoneList = timezones();
$options = array();
foreach ($timezoneList as $timezone)
{
$options[] = array(
"id" => $timezone['offset'],
"name" => '(UTC '.$timezone['offset'].') '.$timezone['name'].''
);
}
Мой результат дал выпадающий список со списком, который я хочу, но значения пустые и выдает ошибки ниже - Обратите внимание на строку 786 в файле F: \ xampp \ htdocs \ presta02 \ vendor \prestashop \ smarty \ sysplugins \ smarty_internal_templatebase.php (157): eval () 'd code [8] Неопределенный индекс: id_option
Моя цель - получить что-то вроде этого -
<option value="-11:00">(UTC -11:00) Pacific, Midway</option>
В настоящее время я получаю это -
<option value="">(UTC -11:00) Pacific, Midway</option>