2017-09-18 14 views
0

코드 케이스에 외부 응용 프로그램을 작성하면 Prestashop 데이터베이스의 제품 바코드 및 업데이트 수량을 읽습니다. 지금 내가 어떤 테이블/테이블 내가 업데이 트 해야할지 모르겠다. 제품 ID 및 수량 열을 사용할 수있는 db에는 _DB_PREFIX_product, _DB_PREFIX_product_attribute, _DB_PREFIX_stock_available 테이블이 있습니다.prestashop에서 수동으로 제품 수량 업데이트 (외부 스크립트)

첫 번째 2 개 테이블에는 바코드 열 (ean13)을 사용할 수 있습니다. 제가 제대로

(PrestaShop 버전 버전 1.6) _DB_PREFIX_product에서

+0

내가 큰 상점 시스템에이 외설 ...이 사용할 수에 대한 웹 서비스가 확신 할 것이다 데이터베이스 등을 통해 주식 등의 데이터를 직접 업데이트하는 것이 좋습니다 – sintakonte

+0

귀하의 의견에 감사드립니다. 그렇습니다. 하지만 업데이 트하기 전에 몇 가지 사용자 정의가 필요하고 전 prestashop의 전문가가 코드를 수정하지 않았습니다. 그래서 내가 외부 응용 프로그램을 사용해야합니다. –

답변

0

선택 id_product 다음 _DB_PREFIX_stock_available에 수량을 업데이트 제품의 수량을 변경 업데이트해야하는 테이블이나 테이블 알려 주시기 바랍니다.

prestashop 클래스를 사용할 수 있습니다. 바코드로 작업 한 적이 없으므로 ean13은 무엇인지 모르지만 코드는 반드시 있어야합니다. 내가 id_product_attribute0 모든 속성 조합 e.g 300 quantity for blue color and Mediam size을 위해 주식을 추가 할 수 있습니다 pestashop 사용자에 합격 이유를

<?php 
include('config/config.inc.php'); 
include('init.php'); 
$ean13 = "ean13"; 
$sql = "SELECT id_product FROM _DB_PREFIX_product WHERE ean13='$ean13'"; 
//replace _DB_PREFIX_ with your prefix or define _DB_PREFIX_ on top. 
$product_id = Db::getInstance()->getValue($sql); 
if (!empty($product_id)) { 
$quantity = 100; 
StockAvailable::setQuantity((int)$product_id, 0, $quantity); 
} 
?> 

StockAvailable::setQuantity((int)$product_id, 0, $quantity); 여기에 두 번째 매개 변수는 id_product_attribute이다. 따라서 특정 조합의 수량을 업데이트하려면 해당 조합의 ID를 id_product_attribute으로 전달해야합니다. 0id_product_attribute으로하면 제품의 전체 수량과 재고가 업데이트됩니다. 당신이 PrestaShop 버전 클래스를 사용하여 외부 클래스에서 DB를 업데이트 할 싶지 않다 경우

다음 쿼리는 UPDATE _Db_PREFIX_stock_availble SET quantity='$quantity' WHERE id_product='$productID' AND id_product_attribute=0

+0

안녕하세요, 귀하의 제안에 진심으로 감사드립니다. 나는 또한 짐작했다. 그러나 문제는 각 제품 ID에 대해'stock_available' 테이블에 여러 행이 있다는 것이다. unique은 product_attribute ID 열입니다. 그래서'product' 테이블이나'product_attribute' 테이블에서 바코드를 검색해야하는지 확신 할 수 없습니다. –

+0

'PREFIX_stock_availble'에서 1 제품에 대한 여러 행은 모든 제품 (수량 및 색상)에 대해 별도의 재고가 있음을 의미합니다. 전체 제품의 수량을 업데이트하려면'id_product_attribute = 0 '행을 업데이트해야합니다. – Sama