現在のプロジェクトにスニペット ベースのコンテンツ管理システムを実装しています。スニペットは、部分的な URL のワイルドカード一致にフォールバックする完全な URL の完全一致、または最終的にデフォルトのスニペットのいずれかによって、ページに関連付けることができます。
これを実装するために、ワイルドカード フラグを使用してページ関連付けのテーブルを作成しました。システムはまず現在の URL を非ワイルドカード関連付けに対してチェックし、一致が見つからない場合は、ワイルドカード フラグが設定されている部分 URL に対してチェックします。 .
これを達成するために、データベースからすべての部分的な URL を取得し、それらを配列に入れ、配列を調べて現在の URL との一致を確認しています。
protected function _check_wildcard($url = NULL)
{
if($url)
{
$q = $this->db->where('wildcard' ,'Y')
->from('content')
->get();
$wildcards = $q->result_array();
foreach($wildcards AS $wildcard)
{
if(strpos($url,$wildcard['url']) !== FALSE )
{
return $wildcard['snippet_id'];
}
}
}
else
{
return NULL;
}
}
誰かがこれを行うためのより良い方法を提案できますか?システムダウンライン?