Flux d’activité

Flux d’activité de Messages


  1. Bonjour,

    la fonction str_form_value de la classe String permet de formater une chaine de caractère présent dans un attribut HTML :


    function str_form_value($value, $flags = ENT_COMPAT)
    {
    if (function_exists('html_entity_decode') && (version_compare(PHP_VERSION, '5.0.0', '>=') || GENERAL_ENCODING == 'iso-8859-1')) {
    // Le 4è argument de htmlspecialchars appelé $double_encode n'est pas disponible avant PHP 5.2.3
    // Il faut donc appeler htmlentities_decode d'abord pour éviter le double encodage des entités HTML
    return htmlspecialchars(String::html_entity_decode($value, ENT_QUOTES, GENERAL_ENCODING), $flags, GENERAL_ENCODING);
    } else {
    // Version simplifi&#233;e si PHP < 4.3
    // ou si PHP >=4.3 et <5 car sinon pas de support de UTF-8
    return str_replace('"', '&quot;', $value);
    }
    }
    [/CODE]

    D'autres fonctions de formatage existe dans la class pour formater une ancre, en fonction des besoins. De plus, le nom de la fonction [i]str_form_value[/i] oblige à être utilisé dans ce contexte.


  2. Bonjour,

    Actuellement, le montant du panier est à 0, est le code

                                     <input '.( $_SESSION['session_caddie']['total'] == 0 ?'disabled="disabled"':'').' type="radio" onclick="document.getElementById(\'payment_method\').style.display=\'block\';" name="payment_technical_code" value="' . String::str_form_value($tab_paiement['technical_code']) . '" ' . frmvalide($selected) . ' />' . String::html_entity_decode_if_needed($tab_paiement['nom_' . $_SESSION['session_langue']]);
    ne permet pas de griser les boutons radio. Pour comprendre pourquoi le test $_SESSION['session_caddie']['total'] == 0 ne fonctionne pas comme on le voudrait, l'idée est de savoir quelle est la valeur de $_SESSION['session_caddie']['total'] lorsque que le caddie est vide. Mais entre temps, je pense avoir trouvé la solution. Il faut modifier le test
    '.( $_SESSION['session_caddie']['total'] == 0 ?'disabled="disabled"':'').'
    pour
    '.( $_SESSION['session_caddie']->total > 0 ?'':'disabled="disabled"').'

    Pouvez-vous essayer cette version svp ?

  3. MALLE


    Jai télécharger PEEL SHOPPING 6.4, jarive pa a le lancer, kan je le lance, voici l'erreur kil affiche :

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    kelkun pourrait il m'aider a voir cela?

  4. IPP


    Bonjour,

    Le code à modifier ce trouve dans le fichier configuration.inc.php :

    
    if (!defined('IN_PEEL_ADMIN') && !defined('IN_ACCES_ACCOUNT') && !defined('IN_GET_PASSWORD') && $GLOBALS['site_parameters']['site_suspended'] === 'TRUE' && !a_priv('admin*', false)) {
    
      echo '<div align="center" style="font-size:14px;font-weight:bold;"><br /><br />' . UPDATE_WEBSITE . '<br /><br />' . THANKS_UNDERSTANDING . '</div>';
    
      die();
    
    }
    
    

    Le message présent dans la fonction getHTMLHead est un message destiné aux administrateurs qui peuvent consulté les pages de la boutique, même suspendue.

    Bonjour

    ET UN GRAND MERCI... ça fonctionne!

    Vous pouvez vérifier à cette adresse: http://ipp.pro-site-france.fr

    Encore merci.


  5. Bonjour,

    La fonction show_preview_next du fichier modules\precedent_suivant\fonctions.php doit être modifié pour quelle retourne uniquement le lien, sans HTML. :


    /**
    * show_preview_next()
    * @param integer $product_id
    * @param integer $product_position
    * @param mixed $prev_next
    * @return
    */
    function show_preview_next($product_id, $product_position, $prev_next, $no_html = false)
    {
    $output = '';
    $cond='';
    if (!empty($_GET['catid'])) {
    $current_catid = intval($_GET['catid']);
    } else {
    //On recupere la categorie du produit
    $query_current_catid = query("SELECT categorie_id
    FROM peel_produits_categories
    WHERE produit_id = '" . intval(vn($product_id)) . "'");
    if($result_current_catid = fetch_assoc($query_current_catid)) {
    $current_catid = $result_current_catid['categorie_id'];
    }
    }
    if($GLOBALS['site_parameters']['in_category']==0) {
    // liste des cat&#233;gories de la cat&#233;gories du produit en cours vers la cat&#233;gorie m&#232;re
    $ascending_category_array = get_category_tree_and_itself($current_catid, 'parents');
    // Suppression de la categorie racine afin d'&#233;viter d'avoir l'ensemble des produits remont&#233;s.
    foreach($ascending_category_array as $key => $category) {
    if($category == 0) {
    unset($ascending_category_array[$key]);
    }
    }
    // Recherche des cat&#233;gories fille de chaque cat&#233;gorie trouv&#233;e pr&#233;c&#233;demment + suppression des doublons + supression de la categorie 0
    $descending_category_array = array_unique(get_category_tree_and_itself($ascending_category_array, 'sons'));
    $cond = 'ppc.categorie_id IN(' . implode(',', $descending_category_array) . ')';
    } else {
    $cond = 'ppc.categorie_id="'. intval($current_catid) . '"';
    }
    if($prev_next=='prev') {
    // ATTENTION : dans params_affiche_produits on affiche par d&#233;faut avec pp.position ASC, pp.id DESC
    // Donc les tris sur id et position sont invers&#233;s
    // Par ailleurs, il faut faire attention &#224; la compatibilit&#233; si plusieurs produits ont la m&#234;me position
    $sql ="SELECT ppc.produit_id AS id, ppc.categorie_id as idC, pp.nom_". $_SESSION['session_langue'] . " AS nom, pp.position
    FROM peel_produits pp
    LEFT JOIN peel_produits_categories ppc ON ppc.produit_id = pp.id
    LEFT JOIN peel_categories pc ON ppc.categorie_id = pc.id
    WHERE (pp.position<" . intval(vn($product_position)) . " OR (pp.position=" . intval(vn($product_position)) . " AND pp.id>" . intval($product_id) . "))
    AND pc.etat = 1
    AND pp.etat = 1
    AND pp.on_gift = 0
    AND ".$cond."
    ORDER BY pp.position DESC, pp.id ASC
    LIMIT 1";
    $q_get_previous = query($sql);
    if($r_get_previous = fetch_assoc($q_get_previous)) {
    $previous = $r_get_previous['id'];
    $prev_catid = $r_get_previous['idC'];
    $prev_name= $r_get_previous['nom'];
    }
    if(!empty($previous)){
    if($no_html) {
    $output.= get_product_url($previous, $prev_name, $prev_catid, get_name_category($prev_catid));
    } else {
    $output.= '<td class="td_mod_next_prev">
    <a class="product_prev" href="' . get_product_url($previous, $prev_name, $prev_catid, get_name_category($prev_catid)) . '" title="'. PREV .'">'. PREV .'</a></td>';
    }
    }
    } elseif($prev_next=='next') {
    // ATTENTION : dans params_affiche_produits on affiche par d&#233;faut avec pp.position ASC, pp.id DESC
    // Donc les tris sur id et position sont invers&#233;s
    // Par ailleurs, il faut faire attention &#224; la compatibilit&#233; si plusieurs produits ont la m&#234;me position
    $q_get_next = query("SELECT ppc.produit_id AS id, ppc.categorie_id as idC, pp.nom_". $_SESSION['session_langue'] . " AS nom, pp.position
    FROM peel_produits pp
    LEFT JOIN peel_produits_categories ppc ON ppc.produit_id = pp.id
    LEFT JOIN peel_categories pc ON ppc.categorie_id = pc.id
    WHERE (pp.position>" . intval(vn($product_position)) . " OR (pp.position=" . intval(vn($product_position)) . " AND pp.id<" . intval($product_id) . "))
    AND pc.etat = 1
    AND pp.etat = 1
    AND pp.on_gift = 0
    AND ".$cond."
    ORDER BY pp.position ASC, pp.id DESC
    LIMIT 1");
    if($result_get_next = fetch_assoc($q_get_next)) {
    $next = $result_get_next['id'];
    $next_catid = $result_get_next['idC'];
    $nom_suivant= $result_get_next['nom'];
    }
    if(!empty($next)){
    if($no_html) {
    $output.= get_product_url($next, $nom_suivant, $next_catid, get_name_category($next_catid));
    } else {
    $output.= '<td class="td_mod_next_prev">
    <a class="product_next" href="' . get_product_url($next, $nom_suivant, $next_catid, get_name_category($next_catid)) . '" title="'.NEXT .'">'.NEXT .'</a></td>';
    }
    }
    }
    return $output;
    }
    [/CODE] Ensuite, dans getHTMLHead, il faut ajouter le bloc suivant :
    [CODE]
    if (is_module_precedent_suivant_active()) {
    if (defined('IN_CATALOGUE_PRODUIT') && !empty($_GET['id'])) {
    $product_object = new Product($_GET['id']);
    $output .= '
    <link rel="canonical" href="'.get_current_url().'&#8221; />';
    $output .= '
    <link rel="prev" href="'.show_preview_next($product_object->id, $product_object->position, 'prev').'" />';
    $output .= '
    <link rel="next" href="'.show_preview_next($product_object->id, $product_object->position, 'next').'" />';
    }
    }


  6. Bonjour,

    Le code à modifier ce trouve dans le fichier configuration.inc.php :


    if (!defined('IN_PEEL_ADMIN') && !defined('IN_ACCES_ACCOUNT') && !defined('IN_GET_PASSWORD') && $GLOBALS['site_parameters']['site_suspended'] === 'TRUE' && !a_priv('admin*', false)) {
    echo '<div align="center" style="font-size:14px;font-weight:bold;"><br /><br />' . UPDATE_WEBSITE . '<br /><br />' . THANKS_UNDERSTANDING . '</div>';
    die();
    }
    [/CODE]

    Le message présent dans la fonction getHTMLHead est un message destiné aux administrateurs qui peuvent consulter les pages de la boutique, même suspendue.


  7. Bonjour,

    Le site est en maintenance, je ne peux pas voir les produits.

    $output .= '

    <tr>

    <td class="col_image" style="width:10%;">

    <a title="' . String::str_form_value($product_object->name) . '" href="' . $urlprod . '">' . $this_image . '</a>

    </td>

    <td style="width:45%;">

    <a href="' . $urlprod . '" title="' . String::str_form_value($product_object->name) . '">' . $product_object->name . '</a>

    </td>

    <td style="text-align:center; width:12%;">

    ';

    .

    => Vous modifiez le bon bloc de code, il faut effectivement régler la taille de ces cellules.


  8. Bonjour,

    Les caractères spéciaux sont remplacé par la fonction rewriting_urlencode dans le fichier lib\fonctions\format.php. Vous pouvez supprimer l'appel à cette fonction de remplacement de caractère dans la fonction get_product_url et get_product_category_url du fichier \modules\url_rewriting\rewrite.php pour laisser les caractères accentués dans les liens.

    De manière général, il n'est pas conseillé de mettre des espaces et caractères spéciaux dans les urls.

  9. J1P


    Bonjour a tous,

    Je viens d'ajouter la langue espagnol sur mon site en version 6.2, tout marche bien sauf pour les adresses url

    par exemple pour un produit qui s'appelle Joya española magnífica

    j'obtiens http://www.nomdemonsite.fr/objeto/joya-espa-ola-magn-fica-447.html

    C'est a dire que le ñ et le í ne sont pas transformes en n et i

    Comment dois-je faire modifier pour cela ? car il y a plusieurs lettres accentuees de ce type en espagnol.

    Merci d'avance

  10. IPP


    si tu es encore connecté à ton back office c'est normal

    alors déconnecte toi.

    Je me suis déconnecté mais rien ne fonctionne, toujours la même phrase alors qu'elle est commentée ???

    Certes ce n'est pas une obligation mais je trouve que c'est plus agréable à voir plutôt qu'une simple phrase sur fond blanc.

    J'avoue que je ne vois pas comment faire.

  11. BE Informatique


    Bonjour,

    Juste pour signaler un petit oubli dans le script de migration vers Peel 6.4. Le champ mandatory permettant de rendre un champ attribut obligatoire a été oublié dans la table peel_attributs. La requête suivante corrige le souci :

    ALTER TABLE `peel_couleurs` ADD `mandatory` TINYINT( 1 ) NOT NULL DEFAULT '0';

    Bien cordialement,

    David Renard

Twitter Advisto ecommerce

Facebook PEEL Shopping