Как сделать свою сортировку товаров для каждой категории в опенкарт 3 ? Создал в таблице product_to_category столбец с названием category_order далее добавил в admin/model/catalog/product.php что бы была выборка по category_order PHP: f (isset($data['product_category'])) { foreach ($data['product_category'] as $category_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$category_id . "', category_order = '" . (int)$category['category_order'] . "'"); } } if (isset($data['main_category_id']) && $data['main_category_id'] > 0) { $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['main_category_id'] . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$data['main_category_id'] . "', main_category = 1, category_order = '" . (int)$data['sort_order'] . "'"); } elseif (isset($data['product_category'][0])) { $this->db->query("UPDATE " . DB_PREFIX . "product_to_category SET main_category = 1 WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$data['product_category'][0] . "'"); и функцию выборки сортировок категорий PHP: public function getProductCategorySorts($product_id) { $product_category_data = array(); $query = $this->db->query('SELECT * FROM ' . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'"); foreach ($query->rows as $result) { $product_category_data[$result['category_id']] = $result['category_order']; } return $product_category_data; } В admin/controller/catalog/product.php для передачи в шаблон PHP: if (isset($this->request->post['product_category'])) { $data['product_category_sorts'] = $this->request->post['product_category']; } elseif (isset($this->request->get['product_id'])) { $data['product_category_sorts'] = $this->model_catalog_product->getProductCategorySorts($this->request->get['product_id']); } else { $data['product_category_sorts'] = array(); } и В самом шаблоне добавил на против категорий в которых должен показываться товар HTML: <div class="form-group"> <label class="col-sm-2 control-label" for="input-category"><span data-toggle="tooltip" title="{{ help_category }}">{{ entry_category }}</span></label> <div class="col-sm-10"> <input type="text" name="category" value="" placeholder="{{ entry_category }}" id="input-category" class="form-control"/> <div id="product-category" class="well well-sm" style="height: 150px; overflow: auto;"> {% for product_category in product_categories %} <div id="product-category{{ product_category.category_id }}"><i class="fa fa-minus-circle"></i> {{ product_category.name }} <input type="hidden" name="product_category[]" value="{{ product_category.category_id }}"/> <input type="text" name="sort_order-category" value="{{ product_category_sorts }}" placeholder="{{ entry_sort_order }}" id="input-sort-order-category" class="form-order" style="height: 25px !important;width: 145px;"/> </div> {% endfor %}</div> </div> </div> не работает
Не совсем понятно, почему речь о кастомной сортировке для каждой категории , а правки в карточке товара . Вы в каждом товаре потом хотите что именно сделать? Да и в примере кода масса несоответствий.