support 447 Опубликовано 12 октября, 2014 Жалоба Share Опубликовано 12 октября, 2014 По аналогии с тем, как в списке товара в админке можно менять цены, через 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, т.е. без перезагрузки страницы. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения