У меня есть div в моем умном шаблоне, в который я хочу вызвать файл PHP через ajax, который будет извлекать/отображать другой файл шаблона. Он будет содержать список страниц на сайте, которые будут упорядочены, и вы можете нажимать стрелки вверх/вниз, чтобы изменить их порядок, поэтому мне нужно перезагружать один и тот же шаблон после каждого клика.
Это возможно?
<div id="pagelist_container"></div>
<script type="text/javascript">
{literal}
$(document).ready(function(){
$("#pagelist_container").load("path_to_file/pages.php");
});
{/literal}
</script>
Тогда pages.php будет:
$smarty->display('ajax/pages.tpl');
Всякий раз, когда я ввожу умную строку, я получаю ошибку 500.
1 ответ
Вы должны создать новый смарт-объект в файле ответов ajax, обратите внимание, что вам нужно будет включить Smarty.class.php
в этот файл. Это содержимое path_to_file/pages.php
:
// include smarty (assuming you have smarty in your path)
require_once('Smarty.class.php');
// initialize smarty
$smarty = new Smarty();
// setup cache, template_c & templates directory
$smarty->templates_c = "templates_c";
// assign any variables to smarty here
$smarty->assign('<variable>', $variable);
// fetch output for your pages
$output = $smarty->fetch('ajax/pages.tpl');
// return the content of the template to ajax caller
echo $output;
Похожие вопросы
Новые вопросы
ajax
AJAX (асинхронный JavaScript и XML) — это метод создания интерактивных пользовательских интерфейсов веб-сайтов без традиционного обновления или перезагрузки веб-страницы. Он использует асинхронный обмен данными между клиентом и сервером, чтобы обновлять отображаемую информацию и беспрепятственно реагировать на взаимодействие с пользователем. Включите дополнительные теги для языков программирования, библиотек, фреймворков, веб-браузеров, протоколов и другой информации об окружающей среде.