- Vous publiez gratuitement votre projet informatique ou graphique.
- Vous recevez des offres de la part de prestataires qualifiés et évalués.
- Vous faites réaliser votre projet au prestataire choisi, en toute sécurité.
Nous avons besoin de developper une interface de communication entre joomla et flash pour virtuemart
Nous utilisons joomla 1.5 RC3 et virtuemart 1.1
dans la page produit est chargé un outil flash qui a besoin que soit mis a sa disposition via XML des attributs du produit disponible dans la base de donnée; dans un deuxieme temps cet outil flash renvoi des données relatif au produit qui devront etre prisent en compte par joomla
NOTRE BESOIN
créer deux script php permettant de faire communiquer joomla et sa base de donnée avec un outil flash (celui n'est pas a developper)
Spécifications pour le module flash :
Le module flash utilisera 2 fichiers php:
- un pour charger les données nécessaires à son fonctionnement (liste fournie),
- le second pour enregistrer les modifications faites via le module et qui renvoi un message d'état de 'l'update de la base.
I ) get_product_data.php
Sera la fonction pour charger les données dans le module.
Elle sera appelée avec un paramètre product_id.
Elle doit lire TOUS les champs des tables suivantes, et les retourner sous forme de XML :
#__vm_product :
<vm_product>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</vm_product>
#__vm_product_attribute :
<product_attribute>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_attribute>
#__vm_product_attribute_sku :
<product_attribute_sku>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_attribute_sku>
#__vm_product_category_xref :
<product_category_xref>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_category_xref>
#__vm_product_discount :
<vm_product_discount >
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</vm_product_discount >
#__vm_product_files :
<vm_product_files >
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</vm_product_files >
#__vm_product_price :
<product_price>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_price>
#__vm_product_type :
<product_type>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_type>
#__vm_product_type_parameter :
<product_type_parameter>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_type_parameter>
Soit :
<?xml version="1.0" encoding="UTF-8"?>
<vm_product>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</vm_product>
<product_attribute>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_attribute>
<product_attribute_sku>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_attribute_sku>
<product_category_xref>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_category_xref>
<vm_product_discount >
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</vm_product_discount >
<vm_product_files >
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</vm_product_files >
<product_price>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_price>
<product_type>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_type>
<product_type_parameter>
<nom_du_champ type="type_du_champ">valeur du champ</nom_du_champ>
...
</product_type_parameter>
II) save_product.php
La fonction sera similaire à la version "html" de VirtueMart.
[BESOIN]
Il nous faut savoir quelles sont les variables à envoyer pour permettre d'ajouter le produit modifié dans le panier (product_id? product? product_type_parameter?...).
Vous pouvez vous aidez en consultant le template "addtocart_form.tpl.php" (www/compoments/com_virtuemart/themes/default/templates/product_detail
s/includes/addtocart_form.tpl.php").
Une fois le nom des champs (et tables ?) défini pour l'ajout au panier, nous ferons un envois en XML (si complexe - l'neregistrement du produit implique plusieurs tables) ou html-urlform-encoded (si simple, uniquement une table impactée).
[BESOIN]
La "page php" renvoie un xml de confirmation. Cet xml sera de deux types :
1) Tous c'est correctement effectuer
<?xml version="1.0" encoding="UTF-8"?>
<message>
<result>ok</result>
</message>
2) Il y a une erreur
<?xml version="1.0" encoding="UTF-8"?>
<message>
<result>error</result>
< db_short_message >message_court_d_erreur_de_la_DB_text</db_short_message>
<faild_field>le_nom_du_champ_ou_erreur_1</faild_field>
...
<faild_field>le_nom_du_champ_ou_erreur_N</faild_field>
</message
Nature du projet : Ce projet est un projet concret, et une réalisation certaine