< br>この効果を達成するには?これはどのように達成されるべきでしょうか?アイデアをお探しですか?フロントエンドはどのようにレイアウトすればよいでしょうか?データはどのように処理されるべきですか?
仅有的幸福2017-05-16 13:12:38
これは前にもやったことがあります。これには2つの選択肢があると思います。 1 つ目は、ajax と組み合わせて可能な段階的な読み込みです。 2 番目の方法は 1 回限りの読み込みです。この方法の手順は次のとおりです:
1. すべてのカテゴリをクエリします (カテゴリ データベースを作成する必要があり、サブカテゴリにはparent_id フィールドが必要です。これをどのレベルのフィールドと呼びます)。 level- -Depth)
2、レベル
3 の最大値を見つけます。3 層の foreach ループを通じて、最も外側の層のループ数がレベルの最大値、最も内側の 2 つの層がコア、最内ループのタスクは次のようになります。 カテゴリは親カテゴリの配列に割り当てられます。例:
array(
0=>array('First-level category','First-level sub-category')
1=> ;array('第 1 レベルのカテゴリ 2','第 1 レベルのサブカテゴリ')
}
第 1 レベルのサブカテゴリは、第 2 レベルのカテゴリです (これは、新しい配列に挿入した後、次のことを忘れないでください)。要素グループ内の現在の配列を時間内にクリーンアップします。
注: 内部には 2 つのレイヤーがあり、最初のレイヤーはカテゴリのすべてのレベルを順番に循環し、2 番目のレイヤーはサブカテゴリを親カテゴリ配列に配置します。
最終的に生成された配列の結果は次のとおりです:
第1レベルカテゴリ1
-------第2レベルカテゴリ1
-------第2レベルカテゴリ2
-------------第3レベルカテゴリ1
---------------第 3 レベルのカテゴリ 2
第 1 レベルのカテゴリ 2
-------第 2 レベルのカテゴリ 1
次に、フロントエンド ページで、ループします、この時点でも、レベルの 3 つのレベルを循環する必要があり、カテゴリが順番に表示されます。 ! !