2017-11-20 26 views
0

전 Prestashop에 익숙하지 않아 상품을 장바구니에 넣을 수 있도록 모듈을 만들려고합니다. 그러나 나는 그것을 위해 적당한 고리를 찾는 어려움을 겪었습니다, 어떤 생각입니까?Prestashop 1.7 액세서리/관련 상품 후크

안부

편집 // 좋아, 내가 코드를 알아 낸 :

그것은에있는 product.tpl 파일에 있어야
{if $page.page_name == 'product'} 
<form action="{$urls.pages.cart}" method="post"> 
<input type="hidden" name="token" value="{$static_token}" /> 
<input type="hidden" value="{$product.id_product}" name="id_product" /> 
<input type="number" class="input-group form-control" name="qty" min="1" 
value="1" /> 
<button data-button-action="add-to-cart" class="btn grid-cart-btn btn- 
primary" {if $product.availability == 'unavailable'}disabled{/if}> 
Add to cart</button> 
</form> 
{/if} 

: 템플릿/카탈로그/_partials/소형

답변

0

우선, 어떻게 PrestaShop이 그렇게 가난합니까? 모듈 개발을위한 기본 사항을 이해하기 어렵습니다. 하지만 내 문제를 해결할 방법을 찾았습니다.

내 모듈의 주요 .PHP 파일 : 마법을 만드는

public function install() 
{ 
    if (Shop::isFeatureActive()) 
    Shop::setContext(Shop::CONTEXT_ALL); 

    return parent::install() 
    && $this->registerHook('displayHeader') 
    ;  
} 

public function hookDisplayHeader($params) 
{ 
    $this->context->controller->addJS(($this->_path).'js/quickbuy.js'); 
} 

그리고 JS 파일이 발생합니다

$(document).ready(function() { 
var static_token = prestashop.static_token; 
var static_url = prestashop.breadcrumb.links[0].url+"cart"; 
var page_loc = prestashop.page.page_name; 
if(page_loc == "product"){ 
    $('article.product-miniature.js-product-miniature').each(function(i, 
data) { 
     var product_id = $(data).attr("data-id-product"); 
     var custom_id = $(data).attr("data-id-product-attribute"); 
     var html = "<form action='"+static_url+"' method='post'>"; 
     html += "<input type='hidden' name='token' value='"+static_token+"' 
/>"; 
     html += "<input type='hidden' name='id_product' 
value='"+product_id+"' id='product_page_product_id' />"; 
//  html += "<input type='hidden' name='id_customization' 
value='"+custom_id+"' id='product_customization_id'/>"; Makes it broken! 
     html += "<div class='product-quantity clearfix'><div class='qty'> 
<input type='number' id='quantity_wanted' class='input-group form-control' 
name='qty' min='1' value='1' /></div>"; 
     html += "<div class='add'><button class='btn btn-primary add-to- 
cart' data-button-action='add-to-cart' type='submit'>Add to cart</button> 
</div></div></form>"; 
     $(this).append(html); 
    }); 
} 
}); 

희망이 누군가 도와 준다!