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

Как установить ВЕС для всех товаров в категории


Recommended Posts

Добрый день и с прошедшими праздниками всех Форумчан.

 

 

Прошу помочь с такой задачей.

Для того, чтобы не забивать вес для каждого товара, решил упростить задачу, создавая категории, где вес товара будет единый...

К примеру категория "Мужские футболки", вес каждой футболки от 220-300 грамм

Устанавливаю вес в категории 250 грамм и во всех товарах данной категории выводился данный вес.

У меня проблемы с запросами в базу данных, по этому прошу помощи у знатоков в решении моей проблемы

Внес вот такие изменения в контролере admin/controller/catalog/category.php

 

//перед строкой 
if (isset($this->request->post['top'])) {
//добавил
if (isset($this->request->post['weight'])) {
    $this->data['weight'] = $this->request->post['weight'];
} else if (!empty($product_info)) {
    $this->data['weight'] = $product_info['weight'];
} else {
    $this->data['weight'] = '';
}

Далее, в /admin/view/template/catalog/category_form.tpl добавил следующий код:

<!-- перед строкой -->
<tr>
    <td><?php echo $entry_top; ?></td>
<!-- добавил -->
<tr>
    <td><?php echo $entry_weight; ?></td>
    <td><input type="text" name="weight" value="<?php echo $weight; ?>" /></td>
</tr>

Далее, нужно наладить запросы в базу данный в admin/modal/catalog/category.php

Для того чтобы он как-то передавал данные для каждого продукта...

p.s. Заранее, спасибо за ответ друзья!

 

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


Создайте в таблице category поле weight и вносите туда все необходимые данные, соотв. и в каталоге, будуте выводить только те данные веса, ключ которого будет category_id, в самой базе добавьте на инсерт и апдейт таблицы запрос  `weight` = '" . (int)$data['weight'] . "',

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

Я так понял, что в /admin/model/catalog/category.php требуется добавить:

public function addCategory($data) {
   $this->db->query("INSERT INTO " . DB_PREFIX . "category SET parent_id = '" . (int)$data['parent_id'] . "', `weight` = '" . (int)$data['weight'] . "', `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "', `column` = '" . (int)$data['column'] . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "', date_modified = NOW(), date_added = NOW()");

И по логике думаю нужно добавить в /admin/model/catalog/product.php нужно добавить:

if (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 . "', `weight` = '" . (int)$data['weight'] . "'");
  }	
}

 

Исправьте пожалуйста, если сделал что либо не верно с запросом..

Соответственно в БД category добавил новую таблицу " weight "

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


Всё верно, только вот файл /admin/model/catalog/product.php трогать не надо, тут независимая весовая единица для товаров, вам же на категории нужно ?!

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

Baco, алгоритм такой

Имеется категория ФУТБОЛКИ

Товар 20 видов футболок, которые находятся в Категории ФУТБОЛКИ

В панели администрации, при выставлении веса в категории ФУТБОЛКИ Weight: " 999 ", у всех товаров, что находятся в этой категории, вес должен меняться на "999"

Проще говоря, мне нужно при выставлении в категории значении веса "999" запрос передавал данные в modal/catalog/product.php

	public function addProduct($data) {
		$this->db->query("INSERT INTO " . DB_PREFIX . "product SET 

 

в таблицу 

weight = '" . (float)$data['weight'] . "', 

 

И там уже этот вес товара автоматом просчитывался при доставке и в корзине при оформлении заказа

------------------------------------------------------------------------------

Идея была изначально сделать в корзине на AJAX изменение веса, но тут могут схитрить покупатели, и по этому, такая идея не подходит..

Для чего это нужно: Многие занимаются продажами гаджетов и т.д. из Китая по предварительному заказу. Вот данная реализация поможет высчитывать примерный вес товара при оформлении заказа тем, кто использует парсер.. Создавая категории с теми товарами, где вес товара приблизительно подходит.

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


В таком случае, могу посоветовать batch editor, зачем изобретать велосипед ?

batch editor - не подходит. у меня товары добавляются автоматически в течении определенного времени. для этого мне и требуется  чтобы при каждом добавлении товара в категорию, в этом товаре прописывался вес товара. А в этом модули, что вы предлагаете, очень много лишнего, что мне не нужно и все нужно менять в ручную.

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


  • 4 years later...

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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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