IntroductionInstallation Choisir et régler un plugin Plugin : YouTube Videos Plugin : Lien étendu Plugin : Spécifications Plugin : Modules Joomla Plugin : Topic Kunena Plugin : Article Joomla Plugin : Comparateur d'images Plugin : Google Map Plugin : Images et Fichiers Plugin : Editeur de texte Plugin : Champs de produits Plugin : Mots-clés de recherche Plugin : Informations de contact Plugin : Liste déroulante Plugin : Liste de couleur Surcharge du rendu Développement
Introduction
Ce champs personnalisé est un genre de super plugin pour intégré des possibilité infini dans Virtuemart. Il permet entre autre de rajouter des validations dans le panier, de choisir la langue d'affichage, de désactiver le rendu pour certains groupes de clients, d'utiliser des surcharges évoluer dans le templates, de faire différent rendu selon le contexte(panier, mini panier, commande coté client, commande coté administration). Il permet aussi de créer des tables sql et de facilité l'écriture de code, donc de concevoir des plugins en 2 fois moins de temps et sans maîtriser le code de Virtuemart.
Vous pouvez voir cette page pour avoir des examples de teste Shortcodes categorie
Installation
Allez dans le menu d'installation de Joomla.

Choisissez le zip téléchargé depuis votre ordinateur

Activé le plugin VM Custom Shortcodes Plugin dans la liste

Choisir et régler un plugin
Ouvrir le sous menu .produit : Champs personnalisés et cliquez sur le bouton nouveau

Type de champ personnalisé, choisissez Plug-in, Paramètres supplémentaires VM Custom Shortcodes Plugin et Type de code choisissez un plugin dans la liste.
Vous aurez ensuite les paramètre affichés selon le plugin choisi ci dessous.
Appuyez sur enregistrez ou enregistrez et fermer pour sauvegarder les réglages du champs personalisé actuel
YouTube Videos
Le plugin YouTube permet de lire vos vidéos directement en ajoutant simplement l'identifiant utiliser pour votre vidéo.
Vous pouvez aussi utiliser le mode galerie pour enchaîner plusieurs vidéos à la suite.
Réglage Champs perso

Réglage produit

Lien étendu
ce type de champ permet d'ajouter un lien direct vers une page de votre site ou un lien externe. il inclut également un éditeur de texte pour ajouter une description en HTML
Réglage Champs perso

Réglage produit

Spécifications
Ajouter facilement les spécifications de vos produits avec ce champs personnalisé et créer un tableau prédéfini incluant toutes vos spécifications que vous pourrez modifier à souhait dans votre produit.
Réglage Champs perso

Réglage produit

Modules Joomla
lorsque vous avez besoin régulièrement du même ou des mêmes modules, vous pouvez prédefinir une liste de modules à inclure mais aussi les resélectionnez dans le produit.
Réglage Champs perso

Réglage produit

Topic Kunena
Permet d'associer un sujet d'un forum Kunena dans le produit qui est créé automatiquement lorsque ce plugin est présent.


Article Joomla
Insére votre article à la position choisi de votre champs perso. Idéal, si vous avez besoin d'ajouter le même texte dans plusieurs produits et que l'article existe déja.


Comparateur d'images
Affiche deux images qui se chevauchent avec un curseur central mobile pour comparer les images.


Google Map
Intégre votre carte Google Maps Paramêtrable avec une adresse prédéfinit et modififiable dans chaque produit.


Images et Fichiers
Ajoutez des images et liens vers vos fichier du dossier choisit par un simple clique dans une liste.


Editeur de texte
Un éditeur de texte rapide et léger qui ne rentre pas en conflit avec l'éditeur principal de Joomla


Champs de produits
Permet d'affiché pratiquement n'importe quel information du produit qui n'est pas normalement affiché.


Mots-clés(Tags) de recherche.
Ajoute des tags dans les produits avec un lien qui affichera les produits ayant le même tags.


Informations de contact
Vous vendez des billets ? ce champs va créé un formulaire trés simple et rapide à configurer, du simple Nom à l'adresse complête avec validation.


Liste déroulante
Crée une liste pour le panier d'achat avec controle de validité, avec obligation de sélection d'une option ou non.


Saisie de texte
Ajoute un champs texte au panier d'achat avec option de validation(email, url, iban, entier, telephone ...), taille, requis et type d'entrée(email, téléphone, texte ...)


Liste de couleur
Option palette de couleur pour le panier d'achat avec obligation de sélection d'une option ou non.


Surchage de template
Modifier le rendu.
Les rendus sont dans des répertoires séparés donc vous pouvez copier dans votre template le fichier à modifier sans avoir à toucher au code principale.La structure est assez simple dans monPlugin qui se trouve tous dans /plugins/vmcustom/shortcodes/plugins/monPlugin/.
Vous avez 3 répertoire possible selon le typpe de rendu et le fichier est default.php :
/plugins/vmcustom/shortcodes/plugins/monPlugin/tmpl/default.php Pour un affichage normal(hors option de panier)
/plugins/vmcustom/shortcodes/plugins/monPlugin/product/default.php Pour un affichage de type option de panier
/plugins/vmcustom/shortcodes/plugins/monPlugin/cart/default.php Pour un affichage dans la vue panier et commande
Il suffit de copier le fichier au bonne endroit. Dans votre template il faudra créer un sous-répertoire shortcodes et un autre monPlugin + le sous répertoire selon le rendu à modifier
/templates/monTemplate/html/shortcodes/monPlugin/tmpl/default.php Pour un affichage normal.
/templates/monTemplate/html/shortcodes/monPlugin/product/default.php Pour un affichage option de panier.
/templates/monTemplate/html/shortcodes/monPlugin/cart/default.php Pour un affichage dans la vue panier et commande.
La vue panier et commande à une option supplémentaire le contexte et peu avoir 4 valeur pour différencier les rendu, selon que se soit une commande ou dans le panier par exemple :
- 'cart'
- 'minicart'
- 'order.admin'
- 'order.site'
Vous pouvez controller cette valeur avec
if($context === 'cart') {
// mon code pour le panier
}
if($context === 'minicart') {
// mon code pour le mini panier
}
if($context === 'order.site') {
// mon code pour la vue commande du client
}
if($context ==='order.admin') {
// mon code pour la vue administration de la commande
}
Vous pouvez donc cacher des valeurs et ne les afficher que à l'administrateur par exemple ou utiliser différent rendu das le panier et la commande si nécessaire.
Développement
Créez simplement les plugins.
Le champs personnalisé "shortcode" à été conçu pour facilité la création de plugin. Chaque vue à été séparé séparé pour éviter de chercher les codes, en général chaque fichier contient le code pour sa tache: La classe principale portant le même nom que le plugin et se trouve dans un répertoire du même nom Par exemple /plugins/vmcustom/shortcodes/plugins/url/url.php pour le plugin url, le répertoire plugins contient tous les plugins.class VmCustomShortcodesUrl extends VmCustomShortcodesPlugin
{
// is input : 0 champs normal, 1 champs panier
protected $is_input=0;
protected $options = array(
'layout_product' => 'default', //option Type de mise en page
'groups' => 'none' //option : groups de clients : 'none' sera la valeur par default
);
}
Notez que ce code suffit dans la classe principal pour faire fonctionner le plugin. car VmCustomShortcodesPlugin à tout le code et les fonction nécessaire, pas besoin de les écrire. Le seul moment ou vous devrez ajouter des fonctions est lorsque vous devez modifer des tables, controller des valeurs ...
/plugins/vmcustom/shortcodes/plugins/url/
url.php (la classe principal)
edit_customfield.php (la vue edition du champs custom)
edit_product.php (la vue edition du champs dans le produit)
language/en-GB/en-GB.shortcode_url.ini (langue pour la boutique)
language/en-GB/en-GB.shortcode_url.sys.ini (langue pour l'administration et l'édition)
tmpl/default.php (fichier de rendu dans le site)
url.php (la classe principal)
edit_customfield.php (la vue edition du champs custom)
edit_product.php (la vue edition du champs dans le produit)
language/en-GB/en-GB.shortcode_url.ini (langue pour la boutique)
language/en-GB/en-GB.shortcode_url.sys.ini (langue pour l'administration et l'édition)
tmpl/default.php (fichier de rendu dans le site)