Перейти к содержанию
krashman

Копирование атрибутов с одного товара на другой

Рекомендуемые сообщения

Существует ли модуль, чтобы можно было быстро в админке скопировать атрибуты с одного товара в другой?

Например, заходишь в товар, вкладка атрибуты и тут поле "скопировать с товара" - вводим названием, выбираем из выпадающего списка товар с которого надо скопировать, нажимаем кнопку скопировать и вуаля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И.. в чем проблема?

1. инпут с автокомплитом и кнопка копировать
2. аякс запрос getAttr(product_id)
3 js метод - insertAttr

20$

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставьте батч эдитор)

Закроет вам почти все потребности в массовом редактирование товаров

 

Я когда нашёл этот модуль, неделю считал себя полным дол»»ебом, потому что все, что я делал 3 месяца, можно было сделать за 3 часа))) 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, zlob сказал:

Поставьте батч эдитор)

 

батч эдитором не сделать то что хочется

 

там делов на минут 15-20

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, spectre сказал:

там делов на минут 15-20

Делайте!
как сделаете - только честно скажете сколько это заняло времени..

зы, я конечно могу запрос набросать и это займет 10 минут (работающий запрос)
Так что у вас в запасе есть еще 5-10 минут чтобы нарисовать форму и скрипт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, chukcha сказал:

Делайте!
как сделаете - только честно скажете сколько это заняло времени..

зы, я конечно могу запрос набросать и это займет 10 минут (работающий запрос)
Так что у вас в запасе есть еще 5-10 минут чтобы нарисовать форму и скрипт

 

а денег заплатит кто-то? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тыжпрограммист  - тебе делов на 15-20 минут. За что деньги?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, chukcha сказал:

тыжпрограммист  - тебе делов на 15-20 минут. За что деньги?

 

А я говорил что яжпрограммист и сделаю бесплатно чтобы доказать что это делается за 20 минут?)) Я оцениваю этот функционал рублей в 700 если кодом, и в 1000 если модом, кому нужно будет - купит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кого в итоге длинее? Я не понял...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, spectre сказал:

А я говорил что яжпрограммист и сделаю бесплатно чтобы доказать что это делается за 20 минут?))

Не...
1. Омечаем точку старта, здесь
2. Через 20 минут я получаю код
После получения кода - я оплачиваю.

3. Если условия по времени не выполнены - вы оплачиваете . в пользу форума.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, chukcha сказал:

Не...
1. Омечаем точку старта, здесь
2. Через 20 минут я получаю код
После получения кода - я оплачиваю.

3. Если условия по времени не выполнены - вы оплачиваете . в пользу форума.

 

Я не играю в споры )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стойте парни, дайте я модуль придумаю, на который вы поспорите и оплатите!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, spectre сказал:

Я не играю в споры )

А где спор?
Это было ваше утверждение
И в ответ мое предложение, в том числе с оплатой.

 

 

14 минут назад, zlob сказал:

Стойте парни, дайте я модуль придумаю, на который вы поспорите и оплатите!

Вас здесь не стояло. А, даже если я оплачу, то вам эта работа все равно обойдется в оплату моих расходов.. Халявы не будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я повторюсь - я не буду доказывать вам свою крутость, правда :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, spectre сказал:

я не буду доказывать вам свою крутость

Ну так вас за язык никто не тянул

15-20 минут - ваши слова?
Я готов оплатить.
Я оплачу.



 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, chukcha сказал:

Ну так вас за язык никто не тянул

15-20 минут - ваши слова?
Я готов оплатить.
Я оплачу.



 

 

Вы хотите сказать что написать подобный контроллер

 

public function copyattr() {
			
		if (isset($this->request->post['product_id_from'])) $product_id_from = $this->request->post['product_id_from'];
		
		if (isset($this->request->post['product_id_to'])) $product_id_to = $this->request->post['product_id_to'];
		
	if (isset($product_id_from) && isset($product_id_to)) {
		$this->load->model('catalog/product');


		if (isset($product_id_from) && $product_id_from>0) {
			
			$this->model_catalog_product->copyAttrs($product_id_from, $product_id_to);
			
		}
	}
}

и подобную модель

 

	public function copyAttrs($product_id_from, $product_id_to) {
				
			$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '" . (int)$product_id_from . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "'");

			if ($query->num_rows) {
			
			$data = array();

			$data = $query->row;

			$data = array_merge($data, array('product_attribute' => $this->getProductAttr($product_id_from)));
			
			$this->editAttrProduct($product_id_to, $data);
		}
		
	}
	
	public function getProductAttr($product_id) {
		$product_attribute_data = array();

		$product_attribute_query = $this->db->query("SELECT attribute_id FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "'  GROUP BY attribute_id");

		foreach ($product_attribute_query->rows as $product_attribute) {
			$product_attribute_description_data = array();

			$product_attribute_description_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'");

			foreach ($product_attribute_description_query->rows as $product_attribute_description) {
				$product_attribute_description_data[$product_attribute_description['language_id']] = array('text' => $product_attribute_description['text']);
			}

			$product_attribute_data[] = array(
				'attribute_id'                  => $product_attribute['attribute_id'],
				'product_attribute_description' => $product_attribute_description_data
			);
		}

		return $product_attribute_data;
	}
	
	public function editAttrProduct($product_id, $data) {
		
		
		$this->db->query("DELETE FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "'");

		if (!empty($data['product_attribute'])) {
			foreach ($data['product_attribute'] as $product_attribute) {
				if ($product_attribute['attribute_id']) {
					$this->db->query("DELETE FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'");

					foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) {				
						$this->db->query("INSERT INTO " . DB_PREFIX . "product_attribute SET product_id = '" . (int)$product_id . "', attribute_id = '" . (int)$product_attribute['attribute_id'] . "', language_id = '" . (int)$language_id . "', text = '" .  $this->db->escape($product_attribute_description['text']) . "'");
					}
				}
			}
		}
		$this->cache->delete('product');
	}

занимает больше 10 минут? и за 10 минут нельзя написать аякс-запрос с формочкой?

 

$('.copyattr').click(function (){
var from = $('input[name=\"from\"]').val();
var to = '<?php echo $this->request->get['product_id'];?>';


if(from>0 && to>0){
  
$.ajax({
   type: "POST",     
   url: "index.php?route=catalog/product/copyAttr&token=<?php echo $token; ?>",                           
   data: "product_id_from="+from+"&product_id_to="+to,   	   
   success: function(call) { 
   console.log('ok');
	}
})
 } else {
 console.log('error');
 } 
})

код кнопочки приводить не буду

 

 

код не тестил но должно работать :)

Изменено пользователем spectre

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

должно != работает

1. Вы копируете уже в существующий, а если новый?
2. "Мясо" нарисовать и оттестировать, так чтоб работало - ДА! Это не 15 минут.

Ну а над таким кодом

33 минуты назад, spectre сказал:

if (isset($product_id_from) && $product_id_from>0) {

я завис
 

 

36 минут назад, spectre сказал:

код кнопочки приводить не буду

да-да, это вообще секундное дело.

Вот из таких мелочей ваши 15-20 минут медленно превращаются, в медленно превращаются...(с)
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, chukcha сказал:

да-да, это вообще секундное дело.

Вот из таких мелочей ваши 15-20 минут медленно превращаются, в медленно превращаются...(с)
 

 

ну так скопипастить поле с автокомплитом - какие проблемы?  максимум за полчаса с тестом можно же вложиться? можно, практически весь код в движке уже есть, я именно это и хотел сказать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, spectre сказал:

максимум за полчаса с тестом можно же вложиться?

Что ж вы ставки понижаете?
Уже полчаса..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, chukcha сказал:

Что ж вы ставки понижаете?
Уже полчаса..

 

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

 

Если я просчитаюсь с оценкой времени и денег - это только моя личная проблема и недооцененное задание, за которое я сам же поплачусь рублем ибо никогда не завышаю указанный первоначально ценник, а времени потрачу больше чем планировал, у всех же бывали моменты когда за 10 баксов надо потратить 3 дня а казалось фигней

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, spectre сказал:

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

Вы не понимаете?

Дело не в 15-20 минутах, и не в получасе, и даже не двух-трех

Дело в словах..
Если кто-то сказал, что это 10-15 минут - значит здесь думать не надо, и за это можно не платить
Тем не менее вы сами сказали - 700-1000
Многие, в том числе я, оценивают время-затраты на решение, а не трудоемкость - и получается, что у вас час 2800-4000р, т.е. от 30$

А может считать по количеству строк? (подход индокода)

Так вот.. Средняя статистика говорит
(данные ~1980 -1995 годов)
Программист выдает готового и оттестированного своего кода
от 7 строк в день
Сегодня это чуть больше - до 10.

@krashman Так что там по задаче?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, chukcha сказал:

Дело в словах..
Если кто-то сказал, что это 10-15 минут - значит здесь думать не надо, и за это можно не платить
Тем не менее вы сами сказали - 700-1000
Многие, в том числе я, оценивают время-затраты на решение, а не трудоемкость - и получается, что у вас час 2800-4000р, т.е. от 30$

 

все правильно, я решаю какие-то определенные проблемы, если человека устраивают сроки-стоимость - мы работаем, если не устраивают - не работаем, все просто

 

Если я сделаю такую задачу за час - этот час будет стоит 1000, если сделаю за 20 минут - час не будет стоить 3000, я сэкономлю себе 40 минут времени, которое, как мне кажется немного более ценный ресурс, т.е. этот час будет стоить 1000 + какое-то количество времени

 

я не понимаю в чем вы хотите меня упрекнуть и чем задеть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, spectre сказал:

я не понимаю в чем вы хотите меня упрекнуть и чем задеть


Т.е. за 2 часа переписки вы так и не поняли?
Печалько.

Не бросайтесь словами, и не разбрасывайтесь временем.

Иначе..
Я печатаю со скоростью 500 знаков в минуту, но такая бредятина получается. (с)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, chukcha сказал:

Т.е. за 2 часа переписки вы так и не поняли?
Печалько.

 

Я вас понял, теперь с людьми даже разговаривать меньше чем за 50 баксов не буду :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.