Перейти к содержанию
Форум поддержки пользователей VamShop

Как добавить возможность изменения количества товара на складе в Админке - Содержание - Категории и товары?!


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

По аналогии с тем, как в списке товара в админке можно менять цены, через ajax, так же сделаем возможность изменения количества на складе.

 

1. Добавляем вывод количества на складе, вот так - http://vamshop.ru/forum/topic/13020-%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5-%D0%B2-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD/

 

2. В /app/View/Contents/admin.ctp после:

 
		// Ajax price change
		if ($content['Content']['content_type_id'] == 2 or $content['Content']['content_type_id'] == 7) {
		echo $this->Ajax->editor($content['Content']['id'],'/contents/admin_change_price/',  array('tooltip' => $content['Content']['id'],'placeholder' => '_','onblur' => 'submit'));					
		}

 

добавляем:

 
		// Ajax stock change
		if ($content['Content']['content_type_id'] == 2 or $content['Content']['content_type_id'] == 7) {
		echo $this->Ajax->editor('stock'.$content['Content']['id'],'/contents/admin_change_stock/'.$content['Content']['id'],  array('tooltip' => $content['Content']['id'],'placeholder' => '_','onblur' => 'submit'));					
		}

В /app/Controller/ContentsController.php после:

 
public function admin_change_price ($content_id) 
{
// Read the record
$this->Content->id = (int)$this->data['id'];
$record = $this->Content->read();
if($record['Content']['content_type_id'] == 2)
{
$record['ContentProduct']['price'] = $this->data['value'];
$this->Content->ContentProduct->save($record);
}
if($record['Content']['content_type_id'] == 7)
{
$record['ContentDownloadable']['price'] = $this->data['value'];
$this->Content->ContentDownloadable->save($record);
}
 
        $this->set('return',$this->data['value']);
 
        $this->render('/Elements/ajaxreturn');
 
 
}
 

добавляем:

 
	public function admin_change_stock ($content_id) 
	{
		// Read the record
		$this->Content->id = (int)$content_id;
		$record = $this->Content->read();
		if($record['Content']['content_type_id'] == 2)
		{
			$record['ContentProduct']['stock'] = $this->data['value'];
			$this->Content->ContentProduct->save($record);
		}
		if($record['Content']['content_type_id'] == 7)
		{
			$record['ContentDownloadable']['stock'] = $this->data['value'];
			$this->Content->ContentDownloadable->save($record);
		}

        $this->set('return',$this->data['value']);

        $this->render('/Elements/ajaxreturn');

		
	}
 

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

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