Передаю id категории в в модель, там идет проверка и отдает мне массив, а как оформить не знаю views
<script>
function give(val) {
var obj = document.getElementById('block');
$.ajax({
type: 'POST',
url: '/index.php?route=product/category/edit',
data:{"id":val},
success: function(data){
$('#block').html(data);
}
});
}
здесь я получаю нужный мне id и передаю его в контроллер
$this->model_product_category->getCategoryId($this->request->post['id']);
потом передаю в модель
public function getCategoryId(){
$id = isset($this->request->post['id'])?$this->request->post['id']:null;
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category WHERE category_id = '" . $id . "'");
$array = json_decode(json_encode($query), true);
return $array;
}
views
<div id=block></div>
тут получаю ответ
Array ( [num_rows] => 1 [row] => Array ( [category_id] => 85 [name] => Носки [parent_id] => 82 [top] => 0 [column] => 0 [sort_order] => 0 [status] => 1 [date_added] => 0000-00-00 00:00:00 [date_modified] => 0000-00-00 00:00:00 ) [rows] => Array ( [0] => Array ( [category_id] => 85 [name] => Носки [parent_id] => 82 [top] => 0 [column] => 0 [sort_order] => 0 [status] => 1 [date_added] => 0000-00-00 00:00:00 [date_modified] => 0000-00-00 00:00:00 ) ) )
подскажите где оформляться вывод.
В opencart передача данных в файлы представления (view) производится через массив $data, который наполняется в контроллере (вы вправе менять имя массива, но механизм останется неизменным).
/category.php
$data['array'] = $array;
В файле представления все элементы $data вызываются как переменные и массивы. Все циклические выводы в файлах представления производятся через конструкцию foreach:
/category.tpl
<div id=block>//html разметка показана для примера, в вашем шаблоне может отличаться.
<?php foreach($array as $item){ ?>
<p>category_id: <?=$item['category_id'];?></p>
<p>name: <?=$item['name'];?></p>
...
<?php } ?>
</div>
Обычно делают с помощью шаблонизатора. Тут есть подробная инструкция как работать с одним из них. Возможно Вам это подойдет)
Может кому то понадобиться полный код
Передача id
view
<form action="" method="post" enctype="multipart/form-data">
<table class="table table-bordered table-striped">
<thead class="thin-border-bottom">
<tr>
<th style="width: 10%;">
<i class="ace-icon fa fa-caret-right blue"></i><?php echo $text_id ;?>
</th>
<th>
<i class="ace-icon fa fa-caret-right blue"></i><?php echo $text_name_category ;?>
</th>
<th class="hidden-480">
<i class="ace-icon fa fa-caret-right blue"></i><?php echo $text_status_category ;?>
</th>
<th style="width: 8%">
<i class="ace-icon fa fa-caret-right blue"></i><?php echo "Изменить" ;?>
</th>
</tr>
</thead>
<?php foreach ($category as $category){ ?>
<tbody>
<tr>
<td><?php echo $category['category_id']?></td>
<input type="hidden" name="category_id" id="category_id" value="<?php echo $category['category_id'];?>">
<td><?php echo $category['name'];?></td>
<?php if($category['status'] == 1){ ?>
<td class="hidden-480">
<span class="label label-info arrowed-right arrowed-in"><?php echo $text_on ;?></span>
</td>
<?php } else { ?>
<td class="hidden-480">
<span class="label label-info arrowed-right arrowed-in"><?php echo $text_off ;?></span>
</td>
<?php } ?>
<td>
<center><button class="btn btn-xs btn-danger" id="<?php echo $category['category_id'];?>" type="button" data-toggle="modal" data-target="#myEdit" onclick="give(this.id)" >
<i class="ace-icon fa fa-edit bigger-120"></i>
<span class="bigger-110"></span>
</button></center>
</td>
</tr>
</tbody>
<?php } ?>
</table>
</form>
js тут я получаю нужный мне id и передаю в контроллер
<script>
function give(val) {
var obj = document.getElementById('block');
$.ajax({
type: 'POST',
url: '/index.php?route=product/category/edit',
data:{"id":val},
success: function(data){
$('#block').html(data);
}
});
}
controller
public function edit(){
if (!$this->customer->isLogged()) {
$this->session->data['redirect'] = $this->url->link('account/account', '', 'SSL');
$this->response->redirect($this->url->link('account/login', '', 'SSL'));
}
$this->load->model('product/category');
$this->model_product_category->getCategoryId($this->request->post['id']);
$data['array'] = $this->model_product_category->getCategoryId();
$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category_edit.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/category_edit.tpl', $data));
} else {
$this->response->setOutput($this->load->view('default/template/product/category_edit.tpl', $data));
}
}
передаю данные модель
public function getCategoryId(){
$id = isset($this->request->post['id'])?$this->request->post['id']:null;
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category WHERE category_id = '" . $id . "'");
return $query->row;
}
тут я создал template/product/category_edit.tpl
где сделал вывод из контролера
я делал с помощью модальных окон и вывод нужных данных у меня происходил
/template/product/category.tpl
view
<div class="modal fade" id="myEdit" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="<?php echo $edit;?>" method="post" enctype="multipart/form-data" class="form-horizontal">
<div class="modal-body">
<label ><?php echo $text_enter_category; ?></label>
<div id=block></div>
<label ><?php echo $text_parent_category; ?></label>
</div>
<div class="modal-footer">
<center>
<button type="submit" class="btn btn-primary"><?php echo $button_enter_category ;?></button>
<button type="button" class="btn btn-danger" data-dismiss="modal"><?php echo $text_close ;?></button>
</center>
</div>
</form>
</div>
</div>
</div><!--endmodal-->
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Столкнулся с проблемой: нужна библиотека по работе с существующими PDF файламиНеобходимо создать мини-редактор PDF с функцией поворота и удаления...
Какую функцию использовать для работы с пагинацией внутри поста, я говорю не о пагинации по записямТо есть мы имеем пост в котором 3 страницы
Здравствуйте, я реализую свой класс String и создаю свой класс `City