無制限極小欄名の追加を実現
1845 ワード
ステップ1:Categoryなどのコラムを作成する
データベースは、id(欄ID)、tid(上位欄)、neme(欄名)
ステップ2:CategoryのようなコラムのModelを作成します.
ステップ3:テンプレートに直接無限極分類を参照する
データベースは、id(欄ID)、tid(上位欄)、neme(欄名)
as CategoryModel;
class Category extends Controller
{
public function add()
{
$category = new CategoryModel();
if (request()->isPost()) {
$data = input('post.');
if ($category->add($data)) {
$this->success(' ');
} else {
$this->error(' ');
}
}
$tptc = $category->catetree();
$this->assign('tptc' $tptc);
return view();
}
}
ステップ2:CategoryのようなコラムのModelを作成します.
class Category extends Model
{
public function catetree()
{
$tptc = $this->order('id ASC')->select();
return $this->sort($tptc);
}
public function sort($data $tid = 0 $level = 0)
{
static $arr = array();
foreach ($data as $k => $v) {
if ($v['tid'] == $tid) {
$v['level'] = $level;
$arr[] = $v;
$this->sort($data $v['id'] $level + 1);
}
}
return $arr;
}
}
ステップ3:テンプレートに直接無限極分類を参照する
{volist name="tptc" id="vo"}
{if condition="$vo['level'] neq 0"}|---{/if}{$vo.name}
{/volist}