数组中的PyroCMS标签

时间:2013-08-09 02:40:45

标签: php html pyrocms pyro pyrocms-lex

我在作为网站开发人员的工作中使用CodeIgniter和PyroCMS。使用Pyro比我更久的一些同事正在使用Pyro标签。它们似乎非常有用,即使我不知道它们是如何工作的。无论如何,我试图在PHP数组中使用这些标签,但Pyro似乎并不喜欢这样。

有问题的代码:

{{ eods }}
    <tr>
        <td value="{{ user_id }}" class = "span1">{{ user_id }}</td>
        <td value="{{ eod }}" class = "span2">{{ eod }}</td>
        <td value="{{ mit_id }}" class = "span2"><?php echo $this->db->get_where('mit', array('id' => {{ mit_id }})); ?></td>
        <td value="{{ date }}" class = "span2">{{ date }}</td>
        <td value="{{ time }}" class = "span2">{{ time }}</td>
    </tr>
{{ /eods }}

我收到错误:

解析错误:语法错误,第48行的C:\ repos \ mit-eod \ addons \ shared_addons \ modules \ mit \ views \ history.php中的意外“{”

PHP echo代码中的错误与php代码(第5行)一致。我可以确认它是该行的第三个开口大括号,是{{ mit_id }}中的第一个。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

您不能在PHP代码中使用标记,因为PHP代码将首先解释为PHP代码,而不是模板的一部分。您应该在控制器或模型中执行逻辑,并将$ eods变量中从DB获得的任何内容传递给模板。

另外,

<?php echo $this->db->get_where('mit', array('id' => $thing)); ?>

将获得MySQL(可能)结果,而不是单个值。你至少需要做一些事情:

$var = $this->db->get_where('mit', array('id' => $thing))->row()->thing;

但如果没有找到行,则会抛出错误。 MySQL连接可能会更好。

祝你好运。