0

以下のようなテーブル内にあるフォームがあります。これが送信されたときに実行される Modx スニペットがあり、送信された入力配列に基づいて、複数の新しいリソースを作成する必要があります。

<table class="table responsive-table">
           <thead>

               <th>pagetitle</th>
               <th>longtitle</th>
           </thead>
           <tbody>
               <tr>

               <td><input type="text" name="pagetitle[]" value="" /></td>
               <td><input type="text" name="longtitle[]" value=""/></td>    
               </tr>
               <tr>
               <td><input type="text" name="pagetitle[]" value="" /></td>
               <td><input type="text" name="longtitle[]" value=""/></td>    
               </tr>
           </tbody>

       </table>

以下を実行すると、期待どおりに新しいリソースが作成されますが、すべてのフィールドが「配列」に設定されます。配列の値ではありません。

<?php
$allFormFields = $hook->getValues(); 


foreach ($allFormFields as $key => $value)
{
    $doc = $modx->newObject('modResource');
    $doc->set('createdby', $modx->user->get('id'));
    $doc->set('pagetitle', $value['pagetitle']);
    $doc->set('longtitle', $value['longtitle']);
    $doc->save();
}

return true;
4

2 に答える 2