ocストアのカテゴリがルートカテゴリである場合、パステーブルに「category_id、category_id、0」などのエントリが取得されます。そのカテゴリに子がある場合、テーブルに2つのエントリ、つまり:-"category_idが取得されます。 、category_id、1 "および"category_id、parent_id、0"。
その子に独自の子がある場合、その新しい子には次の3つのエントリがあります:-
"category_id、category_id、2"
"category_id、parent_id、1"
"category_id、parents親category_id、0 "
これを説明するために、カテゴリのcategory_idが「14」であると仮定します。これはcategory_idが「11」のカテゴリの最初の子です。category_idが「11」のそのカテゴリは、カテゴリのカテゴリの子です。 「1」のID。 (1> 11> 14は、管理パネルに表示されますが、category_idの代わりに名前が表示されます)
上記には、次の3つのエントリがあります:
"14"、 "14"、 "2"
"14"、 "11"、 "1"
"14"、 "1" 、"0"
したがって、ルートカテゴリは0になり、次のカテゴリは1になり、次のカテゴリは2になります。これらはすべて、下位のカテゴリレベルの数によって異なります。
それが物事を十分に説明することを願っています。
移入に関しては、完全な方法ではありませんが、最も簡単な方法は、「category_id、category_id、0」を使用してテーブルを作成することです。これにより、管理パネルに表示されます。次に「修復」をクリックすると、このテーブルが正しく生成されます。
または、カテゴリテーブルをステップ実行し、parent_idを使用して配列を作成し、そのparent_idでそのparent_idを検索して、配列に追加する必要があります。配列が完成すると、つまり親がなくなると、正しい「レベル」でテーブルに追加するという簡単な作業になります。
参考までに、入力が必要な別のテーブル、category_to_storeがあります。これは、非常に単純な「category_id、store_id」です。このテーブルがないと、ストアにカテゴリが表示されません。