Moduli prestashop
Sito Produzione
Sito Sviluppo
Per moduli come quello creato per la home guardare in modules > home_nuova che è il più completo.
Per nuovi moduli fare attenzione agli hooks, che sarebbero le posizioni in cui viene stampato l'HTML del modulo che vengono richiamati nei tpl.
C'è un modulo per aggiungere campi custom alla pagina modifica categoria, si chiama democategoryformhooks,
seguire quello che ho fatto per mobile_image_link:
- Aggiungere il campo nel DB in ps_category_lang;
- Aggiungere i campi in classes > Category.php;
- Aggiungere i campi nel modulo;
- Aggiungere il campo nel modulo
ps_mainmenua ~L:787 (se il campo va messo nel menù);
Modifica al checkout stripe
Per far vedere i prodotti nel checkout di stripe ho dovuto modificare il modulo stripe_official.
In controllers > front > createCheckout.php L:~56
$lineItems = [];
$products = $cart->getProducts();
$id_lang = (int)$cart->id_lang;
foreach ($products as $product) {
$image = \Image::getCover($product['id_product']);
$link = new Link;
$imagePath = $link->getImageLink($product['link_rewrite'][$id_lang], $image['id_image'], 'home_default');
$lineItems[] = [
'price_data' => [
'currency' => $currency->iso_code,
'unit_amount_decimal' => $this->module->isZeroDecimalCurrency($currency->iso_code) ? round($product['price'], 2) : round($product['price'], 2) * 100,
'product_data' => [
'name' => $product['name'],
'images' => ['https://' . $imagePath]
],
],
'quantity' => intval($product['cart_quantity']),
];
}
Al posto di
$lineItems[] = [
'price_data' => [
'currency' => $currency->iso_code,
'unit_amount_decimal' => round($finalPrice, 2),
'product_data' => [
'name' => $this->l('Products Purchase'),
],
],
'quantity' => 1,
];
Questo è l'oggetto $product se dovesse servire
{
"id_product_attribute": "425",
"id_product": "267",
"cart_quantity": "1",
"id_shop": "1",
"id_customization": null,
"name": "Inuit Diffusore Scultura",
"is_virtual": "0",
"description_short": "Una fragranza frizzante che rievoca la sensazione di freschezza di un bosco di conifere.</p>",
"available_now": "",
"available_later": "",
"id_category_default": "10",
"id_supplier": "0",
"id_manufacturer": "0",
"manufacturer_name": null,
"on_sale": "0",
"ecotax": "0.000000",
"additional_shipping_cost": "0.000000",
"available_for_order": "1",
"show_price": "1",
"price": 81.147541,
"active": "1",
"unity": "",
"unit_price_ratio": "0.000000",
"quantity_available": "100",
"width": "0.000000",
"height": "0.000000",
"depth": "0.000000",
"out_of_stock": "0",
"weight": 0,
"available_date": "0000-00-00",
"date_add": "2023-06-27 11:40:06",
"date_upd": "2023-09-01 17:10:45",
"quantity": 1,
"link_rewrite": "inuit-diffusore-scultura-",
"category": "diffusori-d-ambiente",
"unique_id": "00000002670000000425640",
"id_address_delivery": "64",
"advanced_stock_management": "0",
"supplier_reference": null,
"customization_quantity": null,
"price_attribute": "81.147541",
"ecotax_attr": "0.000000",
"reference": "",
"weight_attribute": 0,
"ean13": "8021685629869",
"isbn": "",
"upc": "",
"mpn": "",
"minimal_quantity": "1",
"wholesale_price": "0.000000",
"id_image": "267-901",
"legend": "",
"reduction_type": 0,
"is_gift": false,
"reduction": 0,
"reduction_without_tax": 0,
"price_without_reduction": 99,
"specific_prices": [],
"stock_quantity": 100,
"price_without_reduction_without_tax": 81.147541,
"price_with_reduction": 99,
"price_with_reduction_without_tax": 81.147541,
"total": 81.15,
"total_wt": 99,
"price_wt": 99,
"reduction_applies": false,
"quantity_discount_applies": false,
"allow_oosp": 0,
"features": [],
"attributes": "Formato: 250 ml",
"attributes_small": "250 ml",
"rate": 22,
"tax_name": "IVA IT 22%"
}
Paga in tre rate tolto
In templates > checkout > _partials > steps > payment.tpl
{if $option.id == 'payment-option-3'}
{continue}
{/if}
Logo paypal nello stesso file
{if $option.id === 'payment-option-2'}
<img src="https://www.paypalobjects.com/webstatic/mktg/logo-center/PP_Acceptance_Marks_for_LogoCenter_266x142.png" class="checkout-option__img"/>
{else}
{if $option.logo}
<img src="{$option.logo}" class="checkout-option__img"/>
{else}
<img src="{$urls.img_url}checkout/payment_default.svg" class="checkout-option__img"/>
{/if}
{/if}