【问题标题】:What's the issue in accessing variable value in smarty template?在 smarty 模板中访问变量值有什么问题?
【发布时间】:2013-05-23 13:51:37
【问题描述】:

我正在为 PHP 文件中的 smarty 模板分配一个值。我的 PHP 文件中的代码 sn-p 如下:

<?php  
  require_once("includes/public-application-header.php");

  ob_start();
  prepare_request();
  $request = empty( $_GET ) ? $_POST : $_GET ;
  $op = $request['op'];
  $objTeacherDetails = new TeacherDetails();
  $teacher_id = $_GET['teacher_id'];
  $teacher_classes = $objTeacherDetails->GetAllClassesByTeacherId($teacher_id);
    $smarty->assign('teacher_classes', $teacher_classes);
  $file_to_show = "teacher-details.tpl";

switch( $op ) {
    case "get_assigned_subject_list":
        $objClassSubjects = new ClassSubjects();
        $objSubjects = new Subjects();
        $class_id  = $request['class_id'];
        $all_subjects = $objSubjects->GetAllSubjects();
        $subject_details = $objClassSubjects-> GetClassSubjectDetailsById($class_id);

        $smarty->assign('all_subjects', $all_subjects);
        $smarty->assign('subject_details', $subject_details);
        $smarty->assign('teacher_id', $teacher_id); 
        $smarty->display("assigned-subject-list.tpl");

        die();
        break;
?>

我的问题是我无法在 smarty 模板中访问 $teacher_id 的值。我的 smarty 模板代码如下:

<input type="text" value="{$teacher_id}" name="tid">

但我将文本字段变为空白。谁能帮我解决这个小问题?提前致谢

【问题讨论】:

  • 检查是否落入switch case

标签: php smarty


【解决方案1】:

您是否已将$smarty 分配到某个地方?

$smarty = new Smarty();

编辑:

问题是$_GET['teacher_id'] 没有从一个页面调用传递到下一个页面调用。

【讨论】:

  • 是的,我有。除非不应显示 tpl 文件。它们显示得很好
  • 您指定$file_to_show = "teacher-details.tpl";,然后使用$smarty-&gt;display("assigned-subject-list.tpl"); 显示。您要使用的模板是什么?
  • 我要显示的文件是 $smarty->display("assigned-subject-list.tpl");
  • 您是否尝试将$smarty-&gt;assign('teacher_id', $teacher_id); 替换为$smarty-&gt;assign('teacher_id', '1234'); 进行测试?
  • 我试过你的把戏,它奏效了。但是我应该如何分配teacher_id?
猜你喜欢
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 2011-05-04
  • 1970-01-01
  • 2018-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多