$this->fields['product_zoom_references'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
'label' => __('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce');
$this->fields['product_zoom_buttons_order'] = ['type' => 'combo', 'datas' => [__('De la droite vers la gauche') => 'right', __('De la gauche vers la droite') => 'left'], 'editable' => true, 'grade' => 3, 'default' => 'right', 'label' => __('Order des boutons')];
- $icons = [__('Aucune') => 'none', __('Partage') => 'nav-share', __('Ecran') => 'icon-site', __('Télécharger') => 'nav-download', 'PDF' => 'icon-pdf', 'Video' => 'icon-video', __('Lien') => 'icon-link', __('Code') => 'icon-code', __('QR code') => 'icon-qr', __('Article') => 'icon-article', __('Panier (sac)') => 'nav-basket', __('Panier (caddie)') => 'nav-cart-caddie'];
- $actions = [__('Ouvrir un lien') => 'link', __('Ouvrir en iframe') => 'iframe', __('Copier un contenu') => 'copy', __('Vidéo') => 'video', __('Ajouter au panier') => 'addtocart'];
+ $icons = [
+ __('Aucune') => 'none',
+ __('Partage') => 'nav-share',
+ __('Ecran') => 'icon-site',
+ __('Télécharger') => 'nav-download',
+ 'PDF' => 'icon-pdf',
+ 'Video' => 'icon-video',
+ __('Lien') => 'icon-link',
+ __('Code') => 'icon-code',
+ __('QR code') => 'icon-qr',
+ __('Article') => 'icon-article',
+ __('Panier (sac)') => 'nav-basket',
+ __('Panier (caddie)') => 'nav-cart-caddie',
+ __('360°') => 'icon-360',
+ __('Photo') => 'icon-photo'];
+ $actions = [
+ __('Ouvrir un lien') => 'link',
+ __('Ouvrir en iframe') => 'iframe',
+ __('Copier un contenu') => 'copy',
+ __('Web Vidéo') => 'video',
+ __('Vidéo') => 'videofile',
+ __('Vidéo (boucle, sans contrôle)') => 'videogif',
+ __('Voir une image') => 'image',
+ __('Ajouter au panier') => 'addtocart'
+ ];
$f = [];
for ($i = 1; $i <= 3; $i++) {
$this->fields['product_zoom_label_' . $i] = ['type' => 'text', 'label' => __('Label du bouton') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3];
$this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
'label' => __('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce');
$this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
- 'label' => __('Images des produits'), 'grade' => 5, 'fileFilter' => $imageFilter, 'hint' => __('Chaque image doit avoir pour nom exact la référence du produit'),
+ 'label' => __('Images des produits'), 'grade' => 3,
'multiple' => true, 'dir' => 'commerce');
$this->fields['basketPDFBackground'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
'label' => __('Fond du PDF (bon de commande)'), 'grade' => 5, 'fileFilter' => $epsFilter, 'hint' => __('Fond du bon de commande'), 'dir' => 'commerce');
$this->config->seoArticles = $this->seoArticles;
}
+ public function writePumaCart()
+ {
+ $this->addJsLib('parsley', 'js/libs/parsley.min.js');
+ $this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js');
+ $this->addJsLib('puma', 'js/libs/fluidbook/cart/fluidbook.cart.puma.js');
+ $this->addVideoJs();
+
+ $this->config->basketReferences = wsUtil::excelToArrayKeyVars($this->wdir . '/commerce/' . $this->book->parametres->basketReferences);
+ $this->config->product_zoom_references = [];
+ $files = ['360°', 'Image supplémentaire', 'Fiche technique'];
+ foreach ($this->config->basketReferences as $ref => $data) {
+ $r = [];
+ foreach ($files as $file) {
+ $fname = trim($data[$file]);
+ if ($fname !== '') {
+ $fname = str_replace(' ', '-', $fname);
+ $wfile = $this->wdir . '/commerce/' . $fname;
+ if (file_exists($wfile)) {
+ $fname = 'data/commerce/' . $fname;
+ $this->vdir->copy($wfile, $fname);
+ } else {
+ $fname = '';
+ }
+ }
+ $r[] = $fname;
+ }
+ $this->config->product_zoom_references[$ref] = $r;
+ }
+ }
+
public function writeCartConfig()
{
if ($this->config->basket) {
$this->addJsLib('cart', 'js/libs/fluidbook/fluidbook.cart.js');
+ if ($this->config->basketManager === 'Puma') {
+ return $this->writePumaCart();
+ }
switch ($this->config->basketManager) {
case 'Remarkable':
$this->addJsLib('parsley', 'js/libs/parsley.min.js');
$this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js');
$this->addJsLib('mopec', 'js/libs/fluidbook/cart/fluidbook.cart.mopec.js');
break;
- case 'Puma':
- $this->addJsLib('parsley', 'js/libs/parsley.min.js');
- $this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js');
- $this->addJsLib('puma', 'js/libs/fluidbook/cart/fluidbook.cart.puma.js');
default:
break;
}
}
return new videoPopupLink($id, $init, $compiler);
case 7:
+ if ($compiler->book->parametres->basketManager === 'Puma') {
+ return new cartLink($id, $init, $compiler);
+ }
switch ($compiler->book->parametres->customLinkClass) {
case 'WescoLink':
return new wescoLink($id, $init, $compiler);
case 11:
return new actionLink($id, $init, $compiler);
case 12:
+ if ($compiler->book->parametres->basketManager === 'Puma') {
+ return new zoomProductLink($id, $init, $compiler);
+ }
if ($compiler->book->parametres->product_zoom_references !== '') {
return new zoomProductLink($id, $init, $compiler);
}