web-dev-qa-db-ja.com

IDを使用してK2追加フィールド名を取得する

現在のページのK2追加フィールドからパラメーターを読み取り、それらを使用してモジュールをロードするモジュールを構築しています。

現在のページのアイテムを正常にロードしましたが、「extra_fields」配列に余分なフィールド名がありません。それはこのように構成されています:

extra_fields {
    [0]=> { "id"=>"5", "value"=>"Field 1 Value" }
    [1]=> { "id"=>"6", "value"=>"Field 2 Value" }
    [2]=> { "id"=>"7", "value"=>"Field 3 Value" }
}

「id」変数は追加のフィールドIDと一致しますが、モジュールからそれらにアクセスする方法がわかりません。 IDを使用してデータベースにアクセスする必要があると思いますが、その方法がわかりません。

2
Obscerno

追加のフィールドはjsonエンコード形式で保存されるため、最初に次のものが必要です。

$arrExtraFields = json_decode($extra_fields);

それができたら、配列$arrExtraFieldsをループしてから、テーブル#__k2_extra_fields(例:SELECT name FROM #__k2_extra_fields WHERE id='the-current-id';)をクエリして、現在の追加フィールドの名前を取得する必要があります( IDによる)。

2
itoctopus