Flux d’activité

Flux d’activité de Messages

  1. serialmother


    Bonjour et merci pour votre réponse.

    Version 7.03

    Oui, effectivement, ce bout de code concernait la largeur de la colonne.

    Pour la vignette ce doit être : 

    <img src="{$cat.src|escape:'html'}" alt="{$cat.name|html_entity_decode_if_needed}" /></a>

     

    Cependant, la photo enregistrée dans l'administration categories.php a une dimension de 480px

    et sur le site elle s'affiche à 120px, soit le 1/4.

     

    Pouvez-vous m'indiquer où régler ce pourcentage d'affichage ?

    Dans la gestion de configuration, le nombre de colonnes est 3 dans 'catalog_products_columns_default'

    et j'ai modifié 'categories_side_menu_item_max_length' mais cela ne change rien...

  2. Simon développeur PEEL


    Bonjour,

     

    Il faut définir la variable $can_add_to_cart à false dans le fichier \achat\caddie_ajout.php pour empecher l'ajout au panier.

    Par contre, en plus de vérifier la quantité demandé, il faut peut-être aussi vérifier la quantité déjà présente ? Sinon, avec une limite à3 produits par exemple, vous pouvez ajouter un produit 3 par 3 dans le panier et au final avoir une quantité dans le panier supérieur à la limite. Il faudra aussi bloquer la modification de la quantité dans la page panier \achat\caddie_affichage.php.

  3. serialmother


    Bonjour,

    Pourquoi cette question n'a t'elle pas de réponse ?

    J'ai le même problème. Version 7.03

    quand une personne commande au litre ou au kilo, je voudrais limiter la quantité.

    Dans la page achat/caddie_ajout.php (je pense que c'est la page à modifier ?), pas de problème pour afficher un message d'erreur si la quantité est supérieure à XX.

    Mais pour interdire l'ajout au panier ?

    Faut-il modifier la ligne $quantite = max(0, intval($_POST['qte'])); ?

    parce que la quantité doit être autorisée pour les produits qui ne sont pas vendus au litre ou au kilo...

    suffit il d'ajouter une condition ? Pourriez-vous me donner une piste ?

    Merci

  4. Simon développeur PEEL


    Bonjour,

     

    Il y a deux choses :
    - dans l'install, depuis la refonte de cette gestion des metas, le code technique "default" n'a pas lieu d'être, il faut que ce soit vide comme vous l'avez remarqué. Nous corrigeons l'installation pour la prochaine version.
    - par ailleurs, il y a quelques modifications à faire en PHP effectivement pour que tout soit OK. Il vaut mieux ne pas faire les modifications que vous proposez mais en faire d'autres qui permettront de bien respecter le fonctionnement prévu. Voici la version modifiée de affiche_meta que vous pouvez utiliser (remplacez la version existante dans lib/fonctions/display.php) et qui sera mise dans la prochaine version :
     

    	function affiche_meta($page_name, $return_mode = false)
    	{
    		$output = '';
    		// PRIORITE 1 : $GLOBALS['meta_title']
    		// PRIORITE 2 : Récupération des métas définis en BDD pour des éléments précis
    		if (!empty($_GET['id']) && defined('IN_LEXIQUE')) {
    			$sql_Meta = 'SELECT word_' . $_SESSION['session_langue'] . ' AS nom, meta_title_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_definition_' . $_SESSION['session_langue'] . ' AS meta_desc 
    				FROM peel_lexique 
    				WHERE id = "' . intval($_GET['id']) . '"';
    		} elseif (!empty($_GET['catid']) && (defined('IN_CATALOGUE_ANNONCE') || defined('IN_CATALOGUE_ANNONCE_DETAILS'))) {
    			$sql_Meta = 'SELECT nom_' . $_SESSION['session_langue'] . ' AS nom, meta_titre_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_key_' . $_SESSION['session_langue'] . ' AS meta_key, meta_desc_' . vb($_SESSION['session_langue']) . ' AS meta_desc 
    				FROM peel_categories_annonces 
    				WHERE id = "' . intval($_GET['catid']) . '"';
    		} elseif (!empty($_GET['id']) && defined('IN_SEARCH_BRAND')) { 
    			// Si on est dans une marque
    			$sql_Meta = 'SELECT nom_' . $_SESSION['session_langue'] . ' AS nom, meta_titre_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_desc_' . $_SESSION['session_langue'] . ' AS meta_desc, meta_key_' . $_SESSION['session_langue'] . ' AS meta_key 
    				FROM peel_marques 
    				WHERE id = "' . intval($_GET['id']) . '"';
    		} elseif (!empty($_GET['catid']) && empty($_GET['id'])) { 
    			// Si on est dans une catégorie
    			$sql_Meta = 'SELECT nom_' . $_SESSION['session_langue'] . ' AS nom, meta_titre_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_desc_' . $_SESSION['session_langue'] . ' AS meta_desc, meta_key_' . $_SESSION['session_langue'] . ' AS meta_key, image_' . $_SESSION['session_langue'] . ' as image 
    				FROM peel_categories 
    				WHERE id = "' . intval($_GET['catid']) . '"';
    		} elseif (!empty($_GET['rubid']) && empty($_GET['id'])) { 
    			// Si on est dans une rubrique
    			$sql_Meta = 'SELECT nom_' . $_SESSION['session_langue'] . ' AS nom, meta_titre_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_desc_' . $_SESSION['session_langue'] . ' AS meta_desc, meta_key_' . $_SESSION['session_langue'] . ' AS meta_key, image 
    				FROM peel_rubriques 
    				WHERE id = "' . intval($_GET['rubid']) . '"';
    		} elseif (!empty($_GET['id']) && defined('IN_CATALOGUE_PRODUIT')) {
    			// Si on est dans une fiche produit
    			$display_facebook_tag = true;
    			$sql_Meta = 'SELECT nom_' . $_SESSION['session_langue'] . ' AS nom, meta_titre_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_desc_' . $_SESSION['session_langue'] . ' AS meta_desc, meta_key_' . $_SESSION['session_langue'] . ' AS meta_key, image1 AS image 
    				FROM peel_produits 
    				WHERE id = "' . intval($_GET['id']) . '"';
    		} elseif (!empty($_GET['id']) && defined('IN_RUBRIQUE_ARTICLE')) {
    			// Si on est dans un article de contenu
    			$display_facebook_tag = true;
    			$sql_Meta = 'SELECT titre_' . $_SESSION['session_langue'] . ' AS nom, meta_titre_' . $_SESSION['session_langue'] . ' AS meta_titre, meta_desc_' . $_SESSION['session_langue'] . ' AS meta_desc, meta_key_' . $_SESSION['session_langue'] . ' AS meta_key, image1 AS image 
    				FROM peel_articles 
    				WHERE id = "' . intval($_GET['id']) . '"';
    		}
    		if (!empty($sql_Meta)) {
    			$query_Meta = query($sql_Meta);
    			$m = fetch_assoc($query_Meta);
    		}
    		// PRIORITE 3 : Récupération des metas par URL ou code technique
    		$sql_Meta = 'SELECT *
    			FROM peel_meta
    			WHERE technical_code="'.real_escape_string(get_current_url(false)).'"';
    		$query_Meta = query($sql_Meta);
    		$m_peel_meta = fetch_assoc($query_Meta);
    		if(empty($m_peel_meta) && !empty($page_name)) {
    			$sql_Meta = 'SELECT *
    				FROM peel_meta
    				WHERE technical_code="'.real_escape_string($page_name).'"';
    			$query_Meta = query($sql_Meta);
    			$m_peel_meta = fetch_assoc($query_Meta);
    		}
    		// PRIORITE 4 : Définition de certains métas par défaut, en complément de ce qui est présent dans les fichiers de meta par langue
    		if (defined('IN_PARTNER')) {
    			$GLOBALS['strSpecificMeta']['Title'][$page_name] = $GLOBALS['STR_OUR_PARTNER'];
    		} elseif (defined('IN_MAP')) {
    			$GLOBALS['strSpecificMeta']['Title'][$page_name] = $GLOBALS['STR_WORD_RESELLER'];
    		} elseif (defined('IN_RETAILER')) {
    			$GLOBALS['strSpecificMeta']['Title'][$page_name] = $GLOBALS['STR_RETAILER_SUBSCRIBE'];
    		} elseif (defined('IN_REFERENCE')) {
    			$GLOBALS['strSpecificMeta']['Title'][$page_name] = $GLOBALS['STR_REFERENCE_ON_LINE_SHOP'];
    		} elseif (defined('IN_DEVIS')) {
    			$GLOBALS['strSpecificMeta']['Title'][$page_name] = $GLOBALS['STR_DEVIS_ON_LINE_SHOP'];
    		} elseif (defined('IN_DOWNLOAD_PEEL')) {
    			$GLOBALS['strSpecificMeta']['Title'][$page_name] = $GLOBALS['STR_MODULE_PEEL_DOWNLOAD_PEEL'];
    		}
    		// PRIORITE 5 : Récupération des metas par défaut
    		$sql_Meta = 'SELECT *
    			FROM peel_meta
    			WHERE "'.get_current_url(true).'" LIKE CONCAT(technical_code, "%")
    			ORDER BY LENGTH(technical_code) DESC
    			LIMIT 1';
    		$query_Meta = query($sql_Meta);
    		$m_default = fetch_assoc($query_Meta);
    		// Application des priorités
    		if (!empty($GLOBALS['meta_title'])) {
    			$this_title = $GLOBALS['meta_title'];
    		} elseif (!empty($GLOBALS['DOC_TITLE'])) {
    			$this_title = $GLOBALS['DOC_TITLE'];
    		} elseif (!empty($m) && !empty($m['meta_titre'])) {
    			$this_title = $m['meta_titre'];
    		} elseif (!empty($m) && !empty($m['nom'])) {
    			$this_title = $m['nom'];
    		} elseif (!empty($m_peel_meta) && !empty($m_peel_meta['meta_titre_' . $_SESSION['session_langue']])) {
    			$this_title = $m_peel_meta['meta_titre_' . $_SESSION['session_langue']];
    		} elseif (!empty($m_peel_meta) && !empty($m_peel_meta['nom'])) {
    			$this_title = $m_peel_meta['nom'];
    		} elseif (!empty($GLOBALS['strSpecificMeta']['Title'][$page_name])) {
    			$this_title = $GLOBALS['strSpecificMeta']['Title'][$page_name];
    		} else {
    			$this_title = $m_default['meta_titre_' . $_SESSION['session_langue']];
    		}
    		$this_title = String::html_entity_decode($this_title);
    		if (!empty($GLOBALS['meta_description'])) {
    			$this_description = str_replace(array('    ', '   ', '  ', "\t"), ' ', trim(String::strip_tags($GLOBALS['meta_description']))) . ' ';
    		} else {
    			$this_description = '';
    		}
    		if (String::strlen($this_description) < 100) {
    			if (!empty($m['meta_desc'])) {
    				$this_description .= $m['meta_desc'];
    			} elseif (!empty($m_peel_meta['meta_desc_' . $_SESSION['session_langue']])) {
    				$this_description .= $m_peel_meta['meta_desc_' . $_SESSION['session_langue']];
    			} elseif (!empty($GLOBALS['strSpecificMeta']['Description'][$page_name])) {
    				$this_description .= $GLOBALS['strSpecificMeta']['Description'][$page_name];
    			} else {
    				$this_description .= $m_default['meta_desc_' . $_SESSION['session_langue']];
    				if (!empty($m['nom'])) {
    					$this_description = $m['nom'] . '. ' . $this_description;
    				}
    			}
    		}
    		if (!empty($this_title) && $this_title == String::strtoupper($this_title) && String::strlen($this_title) > 25) {
    			// Titre tout en majuscule et pas juste un ou deux mots => on passe en minuscule car sinon mauvais pour moteurs de recherche
    			$this_title = String::strtolower($this_title);
    		}
    		if (!empty($GLOBALS['STR_TITLE_SUFFIX'])) {
    			foreach(explode(' ', $GLOBALS['STR_TITLE_SUFFIX']) as $this_word) {
    				if ((String::strlen($this_word)<=3 || String::strpos(String::strtolower($this_title), String::strtolower($this_word)) === false) && String::strlen($this_title . ' ' . $this_word) < 80) {
    					$this_title .= ' ' .$this_word;
    				}
    			}
    		}
    		$this_keywords = $this_title . ' ' . vb($GLOBALS['meta_keywords']) . ' ' . vb($m['nom']) . ' ' . vb($m['meta_key']) . ' '. vb($GLOBALS['strSpecificMeta']['Keywords'][$page_name]) . ' ' . vb($m_peel_meta['meta_key_' . $_SESSION['session_langue']]);
    		if (String::strlen($this_keywords) < 70) {
    			$this_keywords .= ' ' . $this_description;
    		}
    		if (String::strlen($this_keywords) < 100) {
    			$this_keywords .= ' ' . $m_default['meta_key_' . $_SESSION['session_langue']];
    		}
    		if (!empty($this_keywords)) {
    			// Nettoyage des mots clés - on n'en garde que 12 maximum (conseillé : max 8)
    			$temp_array = array_unique(explode(',', trim(String::strip_tags(str_replace(array("\r", "\n", "\t", '!', '?', '(', ')', '.', '#', ':', ';', '&nbsp;', '+', '-', " ", ".", '"', "'"), ',', String::html_entity_decode(str_replace(array('&nbsp;'), ',', String::strtolower($this_keywords))))))));
    			foreach($temp_array as $this_key => $this_value) {
    				if (String::strlen($this_value) < 4 || (String::strlen($this_value) < 5 && $this_key > 6) ) {
    					unset($temp_array[$this_key]);
    				}
    			}
    			$this_keywords = implode(', ', array_slice($temp_array, 0, 12));
    		}
    		$GLOBALS['meta_description_html_uncut'] = $this_description;
    		if (!empty($this_description)) {
    			$this_description = String::str_shorten(str_replace(array('    ', '   ', '  ', ' .', '....'), array(' ', ' ', ' ', '.', '.'), trim(String::strip_tags(String::html_entity_decode_if_needed(str_replace(array("\r", "\n", "<br>", "<br />", "</p>"), ' ', $this_description))))), 190, '', '...', 170);
    			if ($this_description == String::strtoupper($this_description)) {
    				$this_description = String::strtolower($this_description);
    			}
    		}
    		$tpl = $GLOBALS['tplEngine']->createTemplate('meta.tpl');
    		$tpl->assign('charset', GENERAL_ENCODING);
    		$tpl->assign('title', String::ucfirst(String::str_shorten(trim(String::strip_tags(String::html_entity_decode_if_needed(str_replace(array("\r", "\n"), '', $this_title)))), 80, '', '', 65)));
    		$tpl->assign('keywords', $this_keywords);
    		$tpl->assign('site', $GLOBALS['site']);
    		if($_SESSION['session_langue'] == 'fr') {
    			$tpl->assign('generator', 'https://www.peel.fr/');
    		} else{
    			$tpl->assign('generator', 'http://www.peel-shopping.com/');
    		}
    		$tpl->assign('description', String::ucfirst($this_description));
    		$tpl->assign('content_language', $_SESSION['session_langue']);
    		if (is_facebook_module_active() && !empty($display_facebook_tag)) {
    			$display_facebook_tag_array = array('meta_titre'=>$this_title, 'meta_desc'=>$this_description, 'image'=>$m['image']);
    			$tpl->assign('facebook_tag', display_facebook_tag($display_facebook_tag_array));
    		}
    		if(!empty($GLOBALS['site_parameters']['bootstrap_enabled'])) {
    			$tpl->assign('specific_meta', '<meta name="viewport" content="width=device-width, initial-scale=1.0" />');
    		}
    		if(!empty($_GET['update']) && $_GET['update'] == 1) {
    			$robots = 'noindex, nofollow';
    		} else {
    			$robots = 'all';
    		}
    		$tpl->assign('robots', $robots);
    		
    		$output .= $tpl->fetch();
    		if ($return_mode) {
    			return $output;
    		} else {
    			echo $output;
    		}
    	}
  5. ked


    Bonjour,

     

    Voila ce que je trouve dans administrer/sites.php:

     

    $tpl->assign('nb_produit_page', $frm['nb_produit_page']);   mais rien d'autre... aucun chiffre a changer....

     

    mais je ne comprend pas pk on doit modifier quelque chose dans le répertoire "administrer" j'aurai penser que la variable a changer se trouvait dans display_product.php (dans lib/fonctions)?

     

    Merci

  6. stefan


    Bonjour,

    Je souhaiterais mettre en place la désactivation du bouton commander en cochant le checkbox dans la page administrer/produit.php et ainsi avoir une phrase du genre
    "rupture définitive - article en arrêt de fabrication.
    Dois-je intervenir dans un dossier autre que le dossier produit_details.php ? Et quel bout de code dois-je insérer ?

    D'avance merci

     


     

  7. Ez-Toni


    en regardant un peu display.php

     

    		// PRIORITE 5 : Récupération des metas par défaut
    		$sql_Meta = 'SELECT *
    			FROM peel_meta
    			WHERE "'.get_current_url(true).'" LIKE CONCAT(technical_code, "%")
    			ORDER BY LENGTH(technical_code) DESC
    			LIMIT 1';

    je pense, sauf erreur, qu'on ne peut pas entrer dans ce WHERE, la page courrante en index etant http://www.nomdusite.com/  et technical_code etant "default"

     

    j'ai réussi, en attendant, à afficher les meta voulues en page d'accueil en renommant "default" par "" (champ vide) mais malheureusement on perd alors l'utilité de "default" (pour les autres pages que la page d'accueil) :mellow:

     

    edit : après vérification il semble qu'avec le champ vide on obtienne le resultat voulu avec "default", les pages dont les meta sont vides sont alors remplies.

     

    edit 2 : pour que cela fonctionne avec "contact" (de la partie Gestion des metas), j'ai légèrement modifié l'instruction SQL :

    		// PRIORITE 5 : Récupération des metas par défaut
    		$sql_Meta = 'SELECT *
    			FROM peel_meta
    			WHERE "'.get_current_url(true).'" LIKE CONCAT("%",technical_code, "%")
    			ORDER BY LENGTH(technical_code) DESC
    			LIMIT 1';

    autrement l'URL courante aurait du commencer par le technical_code

  8. Simon développeur PEEL


    Bonjour,

     

    Vous utilisez la version iframe du bouton like ? Le code dans la fonction doit être celui ci

    <iframe src="https://www.facebook.com/plugins/like.php?href='.urlencode($url).'&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35" style="width:450px; height:35px;"></iframe>
  9. Simon développeur PEEL


    Bonjour,

     

     

    Concernant le 1er point ci dessus j'obtient une fatale error en mettant le code comme ci dessus:

    Le message d'erreur indique "Syntax Error in template &quot;/homez.775/cavecham/www/modeles/peel7/smarty/products_list_brief.tpl&quot; on line 34". Vous pouvez regarder à la ligne indiqué, ainsi que les lignes autour pour voir l'erreur.

     

     

    Concernant le deuxième point pour modifier le produit associé: je comprends ce que vous me dite, mais je ne sais pas dans quel fichier l'appel de la variable se fait et vers qu'elle ligne?

    Le titre des produits associés est créé dans la fonction params_affiche_produits ($titre = $GLOBALS['STR_ASSOCIATED_PRODUCT']; vers la ligne 2017). Par contre il faut récupérer le nom du produit, et définir la variable $product_name qu'il faudra ensuite utiliser dans le sprintf. Vous pouvez utiliser la variable $reference_id qui contient l'id du produit consulté pour récupérer son nom dans la BDD

Twitter Advisto ecommerce

Facebook PEEL Shopping