У меня есть 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.

0
Andy Moses 25 Ноя 2011 в 02:09
Можешь написать ошибку?
 – 
VMAtm
25 Ноя 2011 в 09:48

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;
0
Cyclonecode 6 Янв 2016 в 03:34