2014-06-10 3 views
1

고객이 양식에서 새 제품을 만든 다음 장바구니에 추가 할 수있는 PS 1.6의 사용자 지정 페이지를 개발하려고합니다.사용자 지정 양식에서 새 제품을 만든 다음 장바구니에 추가하는 방법?

예를 들어, 나는 목공예품을 파는 중입니다. 고객이 목재, 치수 및 기타 유형을 지정해야하는 양식을 작성하길 원합니다 ... 이 기준에 따라 가격이 수정되고 고객의 장바구니에 추가 될 "최종"제품을 만듭니다.

나는 폼을 개발할 방법을 알고 있고 Cart.php의 updateQty()가있는 제품을 장바구니에 추가 할 수 있다고 생각하지만 양식에서 가져온 데이터에서 제품을 어떻게 인스턴스화합니까? 나는 모든 파일을 검색하려고 노력하고 있지만 신제품이 어디에서 설치되었는지 찾을 수없는 것 같습니다.

미리 도움을 청하십시오.

답변

3

내가 그럭저럭 그것을 할 수 있었기 때문에 나는 나의 질문에 답하고있다. 내 해결책은 다음과 같습니다.

public static function créerProduct($name, $ean13, $category, $price, $description, $reference){ 
    $product = new Product(); 
    $languages=Language::getLanguages(); 
    foreach($languages as $lang){ 
     $product->name[$lang['id_lang']]=$name; 
     $product->link_rewrite[$lang['id_lang']]=$name; 
     $product->description[$lang['id_lang']]=$description; 
    } 
    $product->reference=$reference; 
    $product->quantity=0; 
    $product->id_category_default=$category; 
    $product->id_category[]=$product->id_category_default; 
    $product->price=$price; 
    $product->id_tax_rules_group=1; 
    $product->indexed=0; 
    try{ 
     $product->save(); 
     } catch (PrestaShopException $e){ 
     echo $e->displayMessage(); 
     } 
    $product->updateCategories(array_map('intval', $product->id_category)); 
    StockAvailable::setQuantity($product->id,'',1); 
    return $product->id; 
} 

public static function addProduitauPanier($id_product){ 
    $context=Context::getContext(); 
    $result=$context->cart->updateQty(1,$id_product); 
} 
+0

새로운 고객이 만든 제품을 모든 고객이 볼 수 없도록 어떻게 해결 했습니까? –

+0

나는 잠시 동안이 작업을하지 않았지만 제품 목록 페이지에 표시되지 않도록 제품에 대한 속성이 있어야합니다 – Kaamyi

0

제품을 개발하는 데 속성을 사용할 수 없습니까? 그 이유는 사실상 고객이 데이터베이스에 정보를 추가 한 다음 위생 처리하고 유효성을 검사해야 할 것입니다. 나는 Prestashop이 이런 식으로 일하기 위해 만든 속성을 사용할 것입니다.

+0

제발 좀 더 자세히 설명해 주시겠습니까? Prestashop의 속성을 사용하여 고객이 자체 제품을 "만들 수있게"한다고 어떻게 생각합니까? 감사합니다. – Kaamyi

관련 문제