0

我希望在有 cakephp 的页面上的每个表格行下有多个表格。我不确定如何更改输入名称以允许这样做。

    <table cellpadding="0" cellspacing="0">
    <tr>
            <th><?php echo $this->Paginator->sort('id'); ?></th>
            <th><?php echo $this->Paginator->sort('member_no'); ?></th>
            <th><?php echo $this->Paginator->sort('first_name'); ?></th>
            <th><?php echo $this->Paginator->sort('last_name'); ?></th>
            <th><?php echo $this->Paginator->sort('total_points'); ?></th>
            <th><?php echo $this->Paginator->sort('date_joined'); ?></th>
            <th class="actions"><?php echo __('Actions'); ?></th>
    </tr>
    <?php foreach ($members as $member): ?>
    <tr>
        <td><?php echo h($member['Member']['id']); ?>&nbsp;</td>
        <td><?php echo h($member['Member']['member_no']); ?>&nbsp;</td>
        <td><?php echo h($member['Member']['first_name']); ?>&nbsp;</td>
        <td><?php echo h($member['Member']['last_name']); ?>&nbsp;</td>
        <td><?php echo h($member['Member']['total_points']); ?>&nbsp;</td>
        <td><?php echo h($member['Member']['date_joined']); ?>&nbsp;</td>
        <td class="actions">
            <?php echo $this->Html->link(__('View'), array('action' => 'view', $member['Member']['id'])); ?>
            <?php echo $this->Html->link(__('Edit'), array('action' => 'edit', $member['Member']['id'])); ?>
            <?php echo $this->Form->postLink(__('Delete'), array('action' => 'delete', $member['Member']['id']), null, __('Are you sure you want to delete # %s?', $member['Member']['id'])); ?>
        </td>
    </tr>
    <tr>
        /// This is the form for each record
        <td>
            <?php echo $this->Form->create('Point', array('action' => 'add')); ?>
                <fieldset>
                    <legend><?php echo __('Add Point'); ?></legend>
                <?php
                    echo $this->Form->input('member_id',array('type'=>'hidden', 'value'=>$member['Member']['id']));
                    echo $this->Form->input('points');
                ?>
                </fieldset>
            <?php echo $this->Form->end(__('Submit')); ?>
        </td>
    </tr>
<?php endforeach; ?>
    </table>
4

1 回答 1

0

CakePHP 将正常生成表单,只要它们是唯一命名的。您可以考虑将成员 ID 附加到表单的名称上:

<?php echo $this->Form->create('Point'.$member['Member']['id'], array('action' => 'add')); ?>

您可以使用此(或您想要的任何其他方法)使表单独一无二。您可能还会遇到非唯一字段名称的问题。在这种情况下,如果它们来自同一个控制器,请使用类似的技巧在表单和字段中拥有所有唯一的字段名称。

于 2013-02-24T01:31:06.330 回答