0

ここに画像の説明を入力

PHPを使ってWordPressのようなカテゴリ構造を表示するには?

Array

( [0] => stdClass オブジェクト ( [cat_id] => 64 [名前] => 入浴用石鹸 [ナメクジ] => 入浴用石鹸 [cat_taxonomy_id] => 65 [分類] => product_cat [親] => 63 )

[1] => stdClass Object
    (
        [cat_id] => 65
        [name] => Chemical
        [slug] => chemical
        [cat_taxonomy_id] => 66
        [taxonomy] => product_cat
        [parent] => 64
    )

[2] => stdClass Object
    (
        [cat_id] => 63
        [name] => Soap
        [slug] => soap
        [cat_taxonomy_id] => 64
        [taxonomy] => product_cat
        [parent] => 0
    )

)

4

2 に答える 2

1

あなたの例では、このレコードをデータベースに保存するための配列です。

出力ツリー構造については、ツリー構造に変換する必要があります。

例えば:

  1. 配列を変更し、メイン配列のキーとして cat_id を使用します。
  2. 各項目フィールドに追加します childs = array(); そして、子カテゴリのこの配列 ID に格納します。
  3. ルート カテゴリ (親 == 0) を検索し、キー "0" を持つアイテムの子フィールドに ID を保存します。

ステップ1は、データベースからデータをロードするときに行うことができます。ステップ 2 と 3 は 1 回の反復で作成できます (foreach)

この後、例は同様になります

array(
  [0] => stdClass Object
    (
      [cat_id] => 0,
      [childs] => array( [0]=>63 )
      ...
    )
  [63]=> stdClass Object
    (
      [cat_id] => 63,
      [childs] => array( [0]=>64 )
      ...
    ) 

次に、ツリーを出力できます。key = 0 から始めて、すべての子を出力します。子ごとに最初のタイトル、次にすべての子について。再帰関数を使用する必要があります。

于 2013-11-14T07:50:40.490 に答える