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

Вывести категории в отчёте по купленным товарам


evgeny8778

Recommended Posts

Здравтвуйте.

 

Необходимо в отчёт по купленным товарам вывести категорию к которой этот товар относится.

Так же как здесь, но только без фильтра по категориям.

 

post-674537-0-87003100-1396525839_thumb.png

 

Вопрос: как подобное реализовать и нужно ли редактировать базу.

 

P. S. Версия OpenCart 1.5.1.3

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


В файле шаблона: /admin/view/template/report/product_purchased.tpl

 

я добавил строки,

<td class="left"><?php echo $column_category; ?></td>

и

<td class="left"><?php echo $product['category']; ?></td>

получилось

<table class="list">
        <thead>
          <tr>
	   <td class="left"><?php echo $column_category; ?></td>
            <td class="left"><?php echo $column_name; ?></td>
            <td class="left"><?php echo $column_model; ?></td>
            <td class="right"><?php echo $column_quantity; ?></td>
            <td class="right"><?php echo $column_total; ?></td>
          </tr>
        </thead>
        <tbody>
          <?php if ($products) { ?>
          <?php foreach ($products as $product) { ?>
          <tr>
	   <td class="left"><?php echo $product['category']; ?></td>
            <td class="left"><?php echo $product['name']; ?></td>
            <td class="left"><?php echo $product['model']; ?></td>
            <td class="right"><?php echo $product['quantity']; ?></td>
            <td class="right"><?php echo $product['total']; ?></td>
          </tr>

в файле контроллера: admin/controller/report/product_purchased.php

 

я добавил строку, 

'category'   => $result['category'],*/
					

получилось.

if ($option =='filter'){
		
			foreach ($results as $result) {
				$this->data['products'][] = array(
					'category'   => $result['category'],
					'name'       => $result['name'],
					'model'      => $result['model'],
					'quantity'   => $result['quantity'],
					'total'      => $this->currency->format($result['total'], $this->config->get('config_currency'))
				);

Так же внёс соответствующие изменения в файл: admin/language/russian/report/product_purchased.php

 

После чего появился столбец категорий с пустыми строками. В шапке админки на странице отчёта появились множественные, одинаковые  ошибки вида:

Notice: Undefined index: category in /public_html/admin/controller/report/product_purchased.php on line 121

Нужно ли вносить изменения в файл модели: admin/model/report/product.php и ели да, то какие именно?

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


в модели

public function getPurchased($data = array()) {
        $sql = "SELECT op.name, op.model, SUM(op.quantity) AS quantity, SUM(op.total + op.total * op.tax / 100) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id)";
      

добавьте ещё

op.category

 

также нужно добавить фильтрацию)

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


Попробовал так, то же самое





public function getPurchased($data = array()) {

        $sql = "SELECT p2c.category_id, op.name, op.model, SUM(op.quantity) AS quantity, SUM(op.total + op.total * op.tax / 100) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "product_to_category` p2c ON (p.product_id = p2c.product_id), `". DB_PREFIX . "order` o ON (op.order_id = o.order_id)";
Надіслати
Поділитися на інших сайтах


  • 2 months later...

Здравствуйте, пришлось вернутся к данному вопросу.

На данный момент название категории товара выводится. Реализована следующим запросом:

"SELECT cd.name as cn, op.name, op.model, SUM(op.quantity) AS quantity, SUM(op.total + op.total * op.tax / 100) AS total 
			from `" . DB_PREFIX . "product` p
			LEFT JOIN `" . DB_PREFIX . "product_to_category` p2c ON (p.product_id = p2c.product_id) LEFT JOIN `" . DB_PREFIX . "category_description` cd ON (p2c.category_id = cd.category_id)  `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_product op ON (op.order_id = o.order_id) ";

Возникла проблема. Если в карточке товара, в разделе связи, в пункте "Показывать в категориях" выбрать больше одной категории, то в отчёт входят количество и стоимость проданного товара, перемноженное на количество выбранных для отображения категорий. Т.е. если товара продано 5 шт. и он должен отображаться в 2-х категориях, то отчёт показывает, что товара продано 10 шт.

 

Какое условие нужно использовать для ограничения количества учитываемых категорий? Или я изначально пошёл не тем путём?

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


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

Important Information

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