Массив $ данных, который присваивается Smarty шаблон выглядит следующим образом:Почему значения не печатаются в шаблоне smarty?
Array
(
[pt_id] => 2
[pt_doc_title] => Happy New Year
[pt_doc_id] =>
[delete_flag] =>
[pt_doc_file_iname] => array.txt
)
Чтобы назначить его Smarty шаблон я использовал следующие строки кода:
$smarty->assign('data', $data);
Теперь в настоящее время этот массив, содержащий только один но в этот массив может быть больше таких элементов, поскольку массив будет генерироваться динамически. Поэтому для доступа к значениям я написал следующий код, но я не получаю больше значений.
{foreach from=$data item=titles key=key}
<li id="ttl{$key+1}" class="ans_li">
<span class="num-block">{$key+1} </span>
<label>{'Document Title'|signal_on_error:$error_msg:'correct_ans'} <span class="reqd"> * </span></label>
<input type="text" name="pt_doc_title[{$key+1}]" id="pt_doc_title_{$key+1}" value="{$titles.pt_doc_title}">
<p class="uploadBtn"><input type="file" name="document_file_name_{$key+1}" id="document_file_name_{$key+1}">
</p>
{if $titles.pt_doc_file_iname!= ""}
<a href="package_type_documents.php?op=download&pt_id={$titles.pt_id}&pt_doc_id={$titles.pt_doc_id}" style="font-size:small;">{$titles.pt_doc_file_iname}</a>
<input type="checkbox" name="delete_file_{$key+1}" id="delete_file_{$key+1}" class="custom-check" />
<label for="show">Delete file</label>
{else}
<p class="custom-form">
<a href="#" id="ttl{$key+1}" onclick="delete_title(this.id);return false;" class="c-delete">Delete</a>
</p>
{/if}
<input type="hidden" name="pt_doc_id[{$key}]" value="{$titles.pt_doc_id}">
{if $titles.pt_doc_file_iname!=''}
<input type="hidden" name="pt_doc_file_iname[{$key}]" value="{$titles.pt_doc_file_iname}">
{/if}
</li>
{/foreach}
Так я делаю ошибку при доступе к вышеуказанному массиву в smarty? Пожалуйста, помогите мне в исправлении моей проблемы. Заранее спасибо.
Похоже, у вас есть массив с более чем 1 элементом? – Nanne
@Nanne: В приведенном выше случае – PHPLover
, если данные представляют собой массив массивов, вы можете иметь этот массив как единственный элемент, но теперь это массив с несколькими элементами. возможно, вы хотели назначить этот массив '$ data []' или сделать '$ smarty-> assign ('data', array (data));' – Nanne