プラグインを使用してテーブル項目に保存する

I’m dealing with the import plugin, processing a .csv file. in
the .csv there’s a column with | separated values that
shoud be inserted in a table field. The entry are created
correctly, also the table field ( just 1 column ) has the correct
number of rows, but the content is empty (
$featureContent length is > 0 ). Here’s the code,
what am I missing?

foreach ($fields as $handle => $value) {

   $value = explode('|', $value);
   $content[$handle] = array();

   foreach ( $value as $featureContent ) {                       
      $featuresRow = array( 'singleFeature' => $featureContent );
      array_push( $content[$handle], $featuresRow);                             
   }

 }

—編集—

この回答によると、テーブルのデータはJson形式で保存されているので、今はテーブルを作成しようとしていますjson形式の文字列です。
このように:

[
  {"col1":"very beautiful"},
  {"col1":"really beautiful"},
  {"col1":"astonishing beautiful"}

]

それでも、これは私のためには機能しません。もう1つのアプローチとして3行も作成しません。

ベストアンサー

前の質問の回答は少し離れています。したくないフィールドを保存するには
json_encode を使用します。実際の配列を使用してください:

$tableValue = [
  [
    "col1": "Product #1",
    "col2": "5",
    "col3": "10",
    "col4": "15"
  ],
  [
    "col1": "Product #2",
    "col2": "7",
    "col3": "14",
    "col4": "21"
  ],
  [
    "col1": "Product #3",
    "col2": "7",
    "col3": "14",
    "col4": "21"
  ]
];

$entry->setContentFromPost(array(
  'tableField'=> $tableValue,
));

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です