Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Сортировка товаров по ID в админке


Mishanay

Recommended Posts

Доброго времени. Поскажите пожалуйста как сделать сортировку в админке по ID товара? ID в колонке возле товара я вывел и пытался сделать сортировку по принципу расширения «Сортировка по категориям» но что то вероятно не то делаю.И ещё вопрос. У меня перестали выводиться товары на главную страницу при том что копаться с сортировкой по ID я стал позже. Что может быть?Заранее спасибо за ответы!

Надіслати
Поділитися на інших сайтах


Перестали выводится последние добавленные товары или какие?

Да, последние добавленные товары.
Не на первой странице последние добавленные товары выводятся?Ковыряли что-нибудь из этого?:

product.phplast_home.tpl

?
Надіслати
Поділитися на інших сайтах


product.php

ковырял. Но не сильно. Только бавлял выражения вроде:

if (isset($this->request->get['filter_category'])) {$url .= '&filter_category=' . $this->request->get['filter_category'];}

К тому же только в адмике.

last_home.tpl не трогал.

Надіслати
Поділитися на інших сайтах


раз колонку ID уже добавили, то от нее и будем отталкиваться (подробно расписывать не буду, видно что с программированием знакомы, что где вставлять думаю знаете):в ..adminviewtemplatecatalogproduct_list.tpl:заголовок таблицы будет выглядеть примерно так

<td class="left"><?php if ($sort == 'p.product_id') { ?>              <a href="<?php echo $sort_id; ?>" class="<?php echo strtolower($order); ?>">ID товара</a>              <?php } else { ?>              <a href="<?php echo $sort_id; ?>">ID товара</a>              <?php } ?></td>
в ..admincontrollercatalogproduct.php примерно 414 строка добавим строку:
$this->data['sort_id'] = HTTPS_SERVER . 'index.php?route=catalog/product&token=' . $this->session->data['token'] . '&sort=p.product_id' . $url;
в ..adminmodelcatalogproduct.php:в функции getProducts найти массив
$sort_data = array(				'pd.name',				'p.model',				'p.quantity',				'p.status',				'p.sort_order'			);
и добавить в него строчку
'p.product_id',
Надіслати
Поділитися на інших сайтах


Fix305Спасибо! Всё работает.Только есть одно, НО:В версии 1.4.7 вместо:

$this->data['sort_id'] = HTTPS_SERVER . 'index.php?route=catalog/product&token=' . $this->session->data['token'] . '&sort=p.product_id' . $url;
надо вставить:
$this->data['sort_id'] = HTTPS_SERVER . 'index.php?route=catalog/product&sort=p.product_id' . $url;
и тогда всё отлично работает.Модет ещё дадите совет? Как добавить поле поиска по ID тут же?И как вывести ID в письме, отправляемом клиенту и администратору после приобретения товара?
Надіслати
Поділитися на інших сайтах


в файле ..adminviewtemplatecatalogproduct_list.tpl :поле для ввода

<td class="center"><?php echo $product['product_id']; ?></td>
ниже в JS в функцию filter() добавить:
var filter_id = $('input[name='filter_id']').attr('value');		if (filter_id) {		url += '&filter_id=' + encodeURIComponent(filter_id);	}
в файле ..admincontrollercatalogproduct.phpнаходим все "filter_quantity" и по образу и подобию делаем для "filter_id" 1 в 1.в файле ..adminmodelcatalogproduct.phpв функцию getProducts()вставить (там поймешь где)
if (isset($data['filter_id']) && !is_null($data['filter_id'])) {								$sql .= " AND p.product_id = '" . $this->db->escape($data['filter_id']) . "'";			}			
в функцию getTotalProducts()вставить
if (isset($data['filter_id']) && !is_null($data['filter_id'])) {			$sql .= " AND p.product_id = '" . $this->db->escape($data['filter_id']) . "'";		}
должно работать (тестировал на 1.4.8b). Про ид в письмах если сам не разберешься завтра выложу.
Надіслати
Поділитися на інших сайтах


Отлично работает! Ты мужик!!! Спасибо!Только вместо:

<td class="center"><?php echo $product['product_id']; ?></td>
надо:
<td><input type="text" name="filter_id" value="<?php echo $filter_id; ?>" /></td>
Я письма копал, НО! Опять это НО. Постоянно ошибка. Я примерно прикидываю как можно вывести, но всё как то мысль не доходит до своего конечного итога, и в следствии положительного результата.Жду решения от тебя.
Надіслати
Поділитися на інших сайтах


да чет поторопился не ту строку скопировал =)насчет почты:в ..catalogmodelcheckoutorder.php найди массив

$template->data['products'][] = array(					'name'     => $product['name'],					'model'    => $product['model'],					'option'   => $option_data,					'quantity' => $product['quantity'],					'price'    => $this->currency->format($product['price'], $order_query->row['currency'], $order_query->row['value']),					'total'    => $this->currency->format($product['total'], $order_query->row['currency'], $order_query->row['value'])				);
добавить строчку
'product_id'     => $product['product_id'],
теперь в шаблоне (../template/mail/order_confirm.tpl) который уходит на почту клиентам будет доступна переменная $products[..]['product_id']а что бы еще и админу приходило идем чуть нижек строчке
$text .= $result['title'] . ' ' . html_entity_decode($result['text'], ENT_NOQUOTES, 'UTF-8') . "n";
добавляем
$result['product_id']
делал теоретически, но работать должно))
Надіслати
Поділитися на інших сайтах


Приветствую!В письме клиенту всё супер.А вот с админом не совсем понятно. Я так понимаю что генерация письма админу в блоке

// Text Mail$text  = sprintf($language->get('text_greeting'), html_entity_decode($order_query->row['store_name'], ENT_QUOTES, 'UTF-8')) . "nn";$text .= $language->get('text_order_id') . ' ' . $order_id . "n";........
впихиваю туда переменную и ничего.Мне бы его отформатировать (придать человеческий вид :) ) что-то вроде:

Вы получили заказ.№ заказа: 28Дата заказа: 27.08.2010Состояние заказа: ОжиданиеТовары:Кол. Наименование Упаковка Цена Артикул4 Супер-пупер товар (100 мл.) 335.00 р. 3482 Супер-пупер товар (110 мл.) 732.00 р. 275Итого:Сумма: 1067.00 р.Единая ставка: 200.00 р.Итого: 1267.00 р.

Как то так :D . Думаю понятно мысль донёс.
Надіслати
Поділитися на інших сайтах


  • 2 years later...

Доброго времени. Поскажите пожалуйста как сделать сортировку в админке по ID товара? ID в колонке возле товара я вывел и пытался сделать сортировку по принципу расширения «Сортировка по категориям» но что то вероятно не то делаю.

А можете подробнее описать как добавить сортировку по категориям в админке?
Надіслати
Поділитися на інших сайтах


  • 3 years later...

В моем случае Opencart 2 - работает такой вариант:

admin/controller/catalog/produkt.php

строка 261 - меняю $sort = 'pd.name'; на $sort = 'p.product_id';

после строки 465 добавляю -

$data['sort_product_id'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=p.product_id' . $url, 'SSL');  

 

admin/model/catalog/produkt.php

после строки 373 ($sort_data = array()

добавляю -

'p.product_id',

 

Считаю, что самая удобная сортировка товаров в админке Opencart - по умолчанию по ID товара,

а в tpl даже незачем столбец делать с ИД.

Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.