0
私はOpenCartで作業しています。リストとフォーム.tplを一緒に使用すると、フォームは新しいレコードを作成し、その情報がリストに表示されます。このリストには、編集機能を動作させるための各レコード(編集、削除、アーカイブ)のオプションが表示されます。特定の行に対して編集をクリックすると、フォームには既に入力済みの入力情報が表示されます。その後、ユーザによって更新されることができる。現在のところ、編集をクリックするとフォームが起動せず、現在のレコードが編集されますが、ゼロと空の列が編集されます。フォームに戻って起動する方法がわからないそして、表示され、ユーザー情報その動的に設定されたリストのレコードを更新する
モデル:
public function editCampaign($campaign_id, $data) {
$this->db->query("UPDATE " . DB_PREFIX . "campaigns SET campaign_name = '" . $this->db->escape($data['campaign_name']) . "', campaign_giving_goal = '" . (float)$data['campaign_giving_goal'] . "', campaign_giving_count_goal = '" . (float)$data['campaign_giving_count_goal'] . "', campaign_owner = '" . $data['campaign_owner'] . "', date_beginning = '" . $this->db->escape($data['date_beginning']) . "', date_ending = '" . $this->db->escape($data['date_ending']) ."' WHERE campaign_id = '" . (int)$campaign_id . "'");
}
コントローラー:
public function edit() {
$this->load->language('campaigns/campaign');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('campaigns/campaign');
if (isset($this->request->post['editButton'])) {
$campaign_id = $this->request->post['editButton'];
$this->model_campaigns_campaign->editCampaign($campaign_id);
$this->session->data['success'] = $this->language->get('text_success');
$this->response->redirect($this->url->link('campaigns/campaign', 'token=' . $this->session->data['token'] . $url, true));
}
$this->getForm();
}
ビュー:
<form method="post" action="" enctype="multipart/form-data" id="form-order">
<div class="table-responsive">
<table class="table" id="campaign-table">
<thead>
<tr>
<td><?php echo $column_campaign_id; ?></td>
<td><?php echo $column_campaign; ?></td>
<td><?php echo $column_giving_goal; ?></td>
<td><?php echo $column_giving_count_goal; ?></td>
<td><?php echo $column_owner; ?></td>
<td></td>
</tr>
</thead>
<tbody>
<?php if ($orders) { ?>
<?php foreach ($orders as $order) { ?>
<tr class="campaign-list">
<td><?php echo $order['campaign_id']; ?></td>
<td><?php echo $order['campaign_name']; ?></td>
<td><?php echo $order['campaign_giving_goal']; ?></td>
<td><?php echo $order['campaign_giving_count_goal']; ?></td>
<td><?php echo $order['campaign_owner']; ?></td>
<td>
<div class="dropdown">
<button class="campaign-dropdown-btn dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><?php echo $text_campaign_dropdown;?><span class="caret"></span></button>
<ul class="campaign-list-more dropdown-menu">
<li class="campaign-dropdown-list"><button type="submit" id="campaign-del" name="editButton" value="<?php echo $order['campaign_id']; ?>" onclick="javascript:changeFormAction('<?php echo $edit; ?>');">
<?php echo $button_edit; ?>
</button></li>
<li class="campaign-dropdown-list">Archive</li>
<li class="campaign-dropdown-list">
<button type="submit" id="campaign-del" name="deleteButton" value="<?php echo $order['campaign_id']; ?>" onclick="javascript:changeFormAction('<?php echo $delete; ?>');">
<?php echo $button_delete; ?>
</button>
</li>
</ul>
</div>
</td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td class="text-center" colspan="8"><?php echo $text_no_results; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</form>
JS:
<script type="text/javascript">
function changeFormAction(action) {
var form = document.getElementById('form-order');
form.action = action;
return true;
}
</script>