codeigniter で動作するように既存の Web サイトを再調整しています。現在のシステムは、次の形式の XML を使用して、ナビゲーション構成を単一のテーブル セルに格納します。
<NAVIGATION>
<item1>
<id>1</id>
<name>Home</name>
<link></link>
<parent>0</parent>
<target>_self</target>
<rel>follow</rel>
<menu>main</menu>
</item1>
<item2>
<id>2</id>
<name>Some Page</name>
<link>some-page</link>
<parent>0</parent>
<target></target>
<rel>follow</rel>
<menu>main</menu>
</item2>
</NAVIGATION>
元の開発者が何を考えていたのかはわかりませんが、理由は不明のままですが、今のところこの形式を維持したいと考えています。
この XML をデータベースから取得して配列に変換するナビゲーション モデルを作成しました。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Navigation_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function get_navigation()
{
$this->db->select('pages.block');
$this->db->from('pages');
$this->db->join('style','style.styleID = pages.styleID','left');
$this->db->where('style.name','data');
$this->db->where('pages.locID',$this->config->item('splitID'));
$this->db->like('pages.block','<NAVIGATION>');
$navigation_query = $this->db->get();
$navigation_row = $navigation_query->row_array();
return xml2array($navigation_row['block']);
}
}
/* End of file navigation_model.php */
/* Location: ./application/model/navigation_model.php */
私がやろうとしているのは、このモデルを navigation.php という構成ファイルにロードし、ナビゲーション配列をグローバル $config 配列にロードすることです。モデルのオートロードと、navigation.php 内のロードの両方を試みましたが、役に立ちませんでした。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$this->load->model('Navigation_model');
var_dump($this->Navigation_model->get_navigation());
/* End of file navigation.php */
/* Location: ./application/config/navigation.php */
次のエラーが発生し続けます。
重大度: 通知
メッセージ: 未定義のプロパティ: CI_Config::$load
ファイル名: config/navigation.php
ライン番号: 3
自分がやろうとしていることをどのように達成するのが最善でしょうか?