Я использую Smarty в проекте и обнаруживаю, что слишком много занимаюсь форматированием строк в моем шаблоне Smarty, что не позволяет использовать Smarty. Это особенно верно для данных из MySQL, часто требующих форматирования, таких как stripslashes
и replace
.
Я хотел бы сделать этот тип форматирования на стороне PHP, а не в шаблоне, но я не уверен, как назначить данные из MySQL для Smarty, а затем выполнить итерацию по ним. Вот PHP, который я использовал для назначения строк из MySQL в Smarty:
while ($entry = $getBlogEntries->fetch()) {
$entries[] = $entry;
}
Простой массив с каждой выбранной строкой, без форматирования. Затем ему присваивается:
$smarty->assign('blogEntries', $entries);
И, наконец, повторил это так:
{section name=entries loop=$blogEntries}<div class="blogEntry-middle-index">
<a class="postTitle" href="/blog/entry/{$blogEntries[entries].id}">{$blogEntries[entries].blogTitle|stripslashes}</a>
{$blogEntries[entries].blogBody|stripslashes}
</div>{/section}
Я пытаюсь выполнить форматирование данных строки в PHP до того, как они будут присвоены Smarty, а затем выполнить итерацию в моем шаблоне Smarty.
Любая помощь будет принята с благодарностью. Спасибо!