Export xml produit enfant et parent

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Export xml produit enfant et parent

    Bonjour a tous,

    voila j'ai un gros souci, sur le forum il existe un fichier pour l'export de produit virtuemart en xml pour les comparateurs tel que le guide.com.

    Cependant ce fichier comprend certaines manque notament pour les produit enfant
    En effet pour un site de vente de chaussures de sport les differentes tailles n'influt pas sur le tarif que vous achetiez du 37 ou du 34 cela sera le meme prix.

    En revanche pour un site comme moi dans la literie chaque taille pour un meme matelas a un tarif differents.

    Ce fichier emet les erreurs suivantes qui ont pour consequences de refuser les produit dans les comparateurs.

    la categorie n'est pas presente donc refuser chez le guide.com
    l'image egalement donc refuser chez kelkoo

    J'ai personnellement etablie la carte sql de virtuemart et j'ai trouver la solution mais je ne sais pas l'ecrire en php.
    Alors si une ame charitable pouvais me donner un coup de main cela serais sympa.

    je souhaiterais ecrire la chose suivante :
    Si vm_product_parent_id different de 0 alors la categorie ( vm_category_id) , la description (vm_product_s_desc ), l'image (vm_product_full_image ) serait egale à produit_id dont product_parent_id = produit_id

    voici mon code :

    <?php

    define('DOMAIN', 'http://'.$_SERVER['HTTP_HOST'].'/', true);
    set_time_limit(0);
    ignore_user_abort();
    error_reporting(E_ALL ^ E_NOTICE);


    # You need to do place this file in your root directory, where the configuration file is located.
    # Otherwise, if you place this file in another directory please modify the line below with the path to the directory where the configuration file is located.
    # In this case, $absolute_path_config should contain the path that is found in $mosConfig_absolute_path variable from the configuration.php file, followed by /
    $absolute_path_config = "./";

    # Once all is set up you need to check the result and make sure the output is correct
    # Point the browser to http://www.example.com/xml_guide.php and look into the source code of the out put


    // Include configuration file
    if(!file_exists($absolute_path_config . "configuration.php")) {
    exit('<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>Please ensure that datafeed_shopmania.php is in the root directory, or make sure the path to the directory where the configuration file is located is defined corectly above in $absolute_path_config variable</BODY></HTML>');
    }
    else {
    require_once($absolute_path_config . "configuration.php");
    }

    // Used for compatibility with Joomla 1.5
    if (file_exists($absolute_path_config . 'administrator/components/com_virtuemart/compat.joomla1.5.php')) {
    define( '_VALID_MOS', 1 );
    define( '_JEXEC', 1 );
    include_once($absolute_path_config . 'administrator/components/com_virtuemart/compat.joomla1.5.php' );
    }
    define('VMPREFIX', '$mosConfig_dbprefix',true);


    // Connect to the database
    $conn = @mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password);
    if (mysql_error()) {
    print "<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>Connection error. Please check the connection settings. Bye bye...</BODY></HTML>";
    exit;
    }
    else {
    @mysql_select_db($mosConfig_db, $conn);
    if (mysql_error()) {
    print "<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>Connection error. Please check the connection settings. Bye bye...</BODY></HTML>";
    exit;
    }
    }

    Header( 'Content-Type: text/xml' );
    echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
    echo '<catalogue lang="FR" date="'. date('d/m/Y'). '">';

    $sql=@mysql_query('SELECT category_id , category_name'.$mosConfig_dbprefix.'vm_category');
    $sql=@mysql_query('SELECT product_parent_id '.$mosConfig_dbprefix.'vm_product');
    while($res=@mysql_fetch_assoc($sql))
    {
    if ($res['product_parent_id'] !='0') $res['category_id'];
    $cats[$res['product_id']]
    [strtolower($cat[$res['category_id']])]=strtoupper(substr($cat[$res['category_id']],0,1)).strtolower(substr($cat[$res['category_id']],1,10000));
    }
    $Y="y";
    $sql=@mysql_query('SELECT category_id , category_name from '.$mosConfig_dbprefix.'vm_category');
    while($res=@mysql_fetch_assoc($sql))
    {
    $cat[$res['category_id']]=$res['category_name'];
    }

    $sql=@mysql_unbuffered_query('SELECT DISTINCT *
    FROM '.$mosConfig_dbprefix.'vm_product
    LEFT JOIN '.$mosConfig_dbprefix.'vm_product_category_xref ON '.$mosConfig_dbprefix.'vm_product.product_id = '.$mosConfig_dbprefix.'vm_product_category_xref.pr oduct_id
    LEFT JOIN '.$mosConfig_dbprefix.'vm_category ON '.$mosConfig_dbprefix.'vm_product_category_xref.ca tegory_id = '.$mosConfig_dbprefix.'vm_category.category_id
    LEFT JOIN '.$mosConfig_dbprefix.'vm_product_discount ON '.$mosConfig_dbprefix.'vm_product.product_discount _id = '.$mosConfig_dbprefix.'vm_product_discount.discoun t_id
    LEFT JOIN '.$mosConfig_dbprefix.'vm_product_mf_xref ON '.$mosConfig_dbprefix.'vm_product_mf_xref.product_ id = '.$mosConfig_dbprefix.'vm_product.product_id
    LEFT JOIN '.$mosConfig_dbprefix.'vm_manufacturer ON '.$mosConfig_dbprefix.'vm_product_mf_xref.manufact urer_id = '.$mosConfig_dbprefix.'vm_manufacturer.manufacture r_id
    LEFT JOIN '.$mosConfig_dbprefix.'vm_product_price ON '.$mosConfig_dbprefix.'vm_product_price.product_id = '.$mosConfig_dbprefix.'vm_product.product_id
    LEFT JOIN '.$mosConfig_dbprefix.'vm_tax_rate ON '.$mosConfig_dbprefix.'vm_tax_rate.tax_rate_id = '.$mosConfig_dbprefix.'vm_product.product_tax_id
    where product_publish= \'y\' and product_price IS NOT NULL');
    //LEFT JOIN '.$mosConfig_dbprefix.'vm_product_discount ON '.$mosConfig_dbprefix.'vm_product_discount.product _id = '.$mosConfig_dbprefix.'vm_product.product_id
    while($res=@mysql_fetch_assoc($sql))
    {
    echo '<produit num="'.$res['product_id'].'">'."\n";
    echo '<categorie>'.$res['category_name'].'</categorie>';

    echo '<marque><![CDATA['.$res['mf_name'].']]></marque>';
    echo '<reference><![CDATA['. $res['product_sku'] .']]></reference>';
    echo '<refinterne><![CDATA['. $res['product_id'] .']]></refinterne>';
    echo '<designation><![CDATA['. $res['product_name'] .']]></designation>';
    $product_description=$res['product_s_desc'].'<br>'.$res['product_desc'];
    echo '<description><![CDATA['. substr(strip_tags(str_replace(array('<BR>','<br>') , "</P>\n<P>",$product_description)),0,245) .'...]]></description>';

    echo '<ean13></ean13>';
    echo '<garantie>0</garantie>';
    echo '<occasion>0</occasion>';
    echo '<disponibilite>0</disponibilite>';
    $pb=round((($res['product_price']*$res['tax_rate'])+$res['product_price']));
    $p=round(($pb-(($pb*$res['amount']) / 100)),2);
    echo '<prix_barre monnaie="EUR">'. $pb .'</prix_barre>';
    echo '<prix monnaie="EUR">'. $p .'</prix>';
    echo '<fp monnaie="EUR">-1</fp>';
    // prix promo
    $prod_price= $pb;
    $applydiscount = "on" ; //'on' ou ' off'
    $discount_amount= $res['amount'];
    $discount_start_date= $res['start_date'];
    $discount_end_date= $res['end_date'];
    $discount_is_percent= $res['is_percent'];

    $now_date_time = mktime(date("G"),date("i"),date("s"),date("n"),dat e("j"),date("Y"));
    if ($applydiscount == "on" && $discount_amount > 0 && (($discount_start_date < $now_date_time || $discount_start_date == 0) && ($now_date_time < $discount_end_date || $discount_end_date == 0))) {

    if ($discount_is_percent > 0) {
    $prod_price -= ($prod_price * $discount_amount) / 100;
    }
    else {
    $prod_price -= $discount_amount;
    }
    }
    $prod_price = round( $prod_price, 2 );
    echo '<prix_promo>'.$prod_price.'</prix_promo>';
    echo '<url><![CDATA['.DOMAIN.'index.php?option=com_virtuemart&page=sho p.product_details&flypage=shop.flypage&product_id= '. $res['product_id'] .']]></url>';
    echo '<img><![CDATA['.DOMAIN.'components/com_virtuemart/shop_image/product/'. $res['product_thumb_image'].']]></img>';
    echo '</produit>';

    }

    echo '</catalogue>';

    ?>

    Si vous avez des question complementaire je a votre dispo.
    http://www.sommeil-et-deco.eu
    C'est dans la multitude conseils que ce trouve la solution.

  • #2
    Petit oubli...

    Je tenais personnelement a remercier HOTKEY33 et ALATAK Pour leur aide a la comprehension de virtuemart sans eut je n'aurais pas pu comprendre l'usine virtuemart.
    Leur conseils m'ont ete precieux.

    Un grand merci
    http://www.sommeil-et-deco.eu
    C'est dans la multitude conseils que ce trouve la solution.

    Commentaire


    • #3
      Il n'y personne pour me donner un p'tit coup de main !!!
      http://www.sommeil-et-deco.eu
      C'est dans la multitude conseils que ce trouve la solution.

      Commentaire


      • #4
        Re : Export xml produit enfant et parent

        J'espère que tu as trouvé chaussure à ton pied
        Quel est ce script qui permet l'export xml dont tu causes plus haut ?
        http://www.laremiseauxtissus.fr

        Commentaire


        • #5
          Re : Export xml produit enfant et parent

          Trouvé ! ... ce boulet ...8)

          http://blog.selige.fr/Ameliorer-Virt...-merchant.html
          http://www.laremiseauxtissus.fr

          Commentaire

          Annonce

          Réduire
          1 sur 2 < >

          C'est [Réglé] et on n'en parle plus ?

          A quoi ça sert ?
          La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

          Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

          Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
          Comment ajouter la mention [Réglé] à votre discussion ?
          1 - Aller sur votre discussion et éditer votre premier message :


          2 - Cliquer sur la liste déroulante Préfixe.

          3 - Choisir le préfixe [Réglé].


          4 - Et voilà… votre discussion est désormais identifiée comme réglée.

          2 sur 2 < >

          Assistance au forum - Outil de publication d'infos de votre site

          Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

          Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

          Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

          UTILISER À VOS PROPRES RISQUES :
          L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

          Problèmes connus :
          FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

          Installation :

          1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

          Archive zip : https://github.com/AFUJ/FPA/zipball/master

          2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

          3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

          4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

          5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

          6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
          et remplacer www. votresite .com par votre nom de domaine


          Exemples:
          Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
          Télécharger le script fpa-fr.php dans: /public_html/
          Pour executer le script: http://www..com/fpa-fr.php

          Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
          Télécharger le script fpa-fr.php dans: /public_html/cms/
          Pour executer le script: http://www..com/cms/fpa-fr.php

          En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

          Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
          Voir plus
          Voir moins
          Travaille ...
          X