Я пробовал это часами. Если бы это был просто PHP, я бы уже сделал это, но для этого требуется Smarty 3, поэтому все немного по-другому. Мне трудно получить определенные ключи во множественном числе из массива. Массив выглядит так
Array
(
[0] => Array
(
[id] => 1
[client] => Jane Doe
[email] => [email protected]
)
[1] => Array
(
[id] => 2
[client] => John Doe
[email] => [email protected]
)
[2] => Array
(
[id] => 3
[client] => Jim Doe
[email] => [email protected]
)
Я могу получить доступ к этому, используя PHP, просто отлично, Smarty меня сбивает с толку, файлов два
- клиенты.php
- client.tpl ‹- умный
Я назначаю массив в файле .php со следующим
$totalEntries = $results['products']['product'];
$ca->assign('innerArray', $totalEntries);
$results['products']['product']
— это то, что выводит массив, показанный выше.
Теперь в файле .tpl у меня есть следующее
<select class="form-control" id="sel1">
{foreach $innerArray as $results}
{foreach from=$results.client item=label}
<option value="{$label}">{$label}</option>
{/foreach}
{/foreach}
</select>
Это работает для вывода в раскрывающийся список
- Джейн Доу
- Джон Доу
- Джим Доу
Я понял эту часть правильно, и я искал по всему Интернету, чтобы понять это. Мой план состоял в том, чтобы ввести в выпадающий список что-то вроде
- Джейн Доу - [email protected]
- Джон Доу - [email protected]
- Джим Доу - [email protected]
Однако, когда я пытаюсь это сделать, используя что-то вроде следующего, где я удаляю часть .client из from=
<select class="form-control" id="sel1">
{foreach $innerArray as $results}
{foreach from=$results item=label}
<option value="{$label.client}">{$label.client} - {$label.email}</option>
{/foreach}
{/foreach}
</select>
Меня встречает список, который выглядит так
- 1 - 1
- J - J
- j - j
- 2 - 2
- J - J
- j - j
- 3 - 3
- J - J
- j - j
Я понимаю, что это в основном первые буквы и цифры, но я вижу множество примеров в Интернете, показывающих, что я могу взять из массива то, что мне нужно, но когда я пытаюсь $label.client - $label.email Это не сработает.
Что я делаю неправильно?