CodeIgniter / Smarty: Как читать {$ var} из базы данных? - PullRequest
0 голосов
/ 05 апреля 2019

Я использую codeigniter с smarty.

У меня есть умный класс: https://hastebin.com/milulomido.xml

Он выполняет свою работу, но не расширяет смарт-тег {$my_tag} до его действительного значения , если этот тег хранится в базе данных . В этом случае он просто напечатает {$my_tag} буквально.

Пример того, как материал берется из БД:

    /**
     * Get the selected page from the database
     * @param String $page
     * @return Array
     */
    public function getPage($page)
    {
        $this->db->select('*')->from('pages')->where('identifier', $page);
        $query = $this->db->get();

        if($query->num_rows() > 0)
        {
            $result = $query->result_array();

            return $result[0];
        }

        return null;
    }

Я думаю, что мне нужно отредактировать этот класс Smarty (первая ссылка), чтобы исправить мою проблему, но я не знаю как. У меня есть некоторые идеи, но они звучат хакерски (например, проанализировать все в $data и извлечь найденные теги smarty, затем назначить их в качестве переменных Smarty или получить второй раз содержимое, но это ужасно и приводит к ошибкам).

...