De nombreux changements dans VirtueMart 3.4, notamment la suppression de la compatibilité avec Joomla 2.5. Cette compatibilité ralentissait nos développements futurs. Nous avons donc mis un peu plus de temps qu’à l’habitude à sortir cette version. Les premiers retours de nos bêta-testeurs nous ont montré que les efforts et le temps supplémentaires nécessaires en valaient la peine.
Les points forts de VirtueMart 3.4
Noyau amélioré
Le noyau VirtueMart utilise désormais le chargeur de classes Joomla ClassLoader, méthode plus performante et infaillible (les classes sont enregistrées automatiquement et chargées si nécessaire).
Prêt pour Joomla 3.9
VirtueMart est prêt pour Joomla 3.9 et nous nous attendons à ce qu'il soit relativement simple et rapide de s'adapter à Joomla 4.
Compatible PHP 7.2
VirtueMart 3.4 est désormais compatible php 7.2, les utilisateurs peuvent désormais bénéficier de versions PHP plus sécurisées et plus rapides.
Mises à jour javascript
Nous avons commencé à réécrire les javascripts pour utiliser data-vm au lieu des classes ou des ids - des solutions de secours sont fournies.
Améliorations de Package VirtueMart
Le Package permet d'installer automatiquement les composants / modules /plugins VirtueMart Core, AIO, vmBeez3 et TCPDF. L'installation des composants VirtueMart Core, AIO peuvent toujours être utilisés individuellement pour ceux qui ne nécessitent pas l'installation complète.
Prochaine version en cours
Deux nouveaux paiements, eWay et les «boutons intelligents» de PayPal sont dans le tuyau. Une nouvelle option de template qui charge par exemple des mises en page avec un préfixe bs4 nous permet de développer un tout nouveau modèle de module frontal, tout en conservant la rétrocompatibilité. Nous prévoyons également un nouveau modèle de backend, pour lequel les suggestions sont les bienvenues dans le forum.
Améliorations
Prise en charge de PHP 7.1 / 2
- Cryptage et décryptage avec openssl pour la compatibilité avec PHP 7.2.
Modifications du modèle de commande
- Nouveau déclencheur plgVmOnUpdateSingleItem.
- Variable supplémentaire $inputOrder aux anciens déclencheurs plgVmOnUpdateOrderShipment et plgVmOnUpdateOrderPayment.
Des produits
- Nouvelle fonctionnalité "produits maximum", "clients maximum" par fournisseur et "modèle de produit forcé".
- Le produit est chargé pour une commande même s'il n'est pas publié.
- Nouveau filtre pour les prototypes personnalisés dans la liste des produits.
- Les produits peuvent se voir attribuer une catégorie canonique fixe - utile lorsqu'un produit se trouve dans plusieurs catégories et que le nom de la catégorie fait partie de l'URL du produit - product_canon_category_id.
- Liste de produits Admin - Une liste à puces pour les catégories est maintenant affichée. La catégorie canonique est mise en évidence.
- Modèle de produit, getProduct, les champs personnalisés sont toujours chargés.
- Pour la recherche d’articles en frontal - le modèle de produit ne remplace plus le caractère de recherche «-» par «%».
- Changement de table dans les tables products_language, “product_desc” maintenant défini comme type de données “text” (plus de varchars).
Les champs personnalisés
- Fonction d'administration permettant de transformer une liste par défaut de champs personnalisés "S" en une autre et met à jour les valeurs des produits utilisant le champ personnalisé transformé. transformSetStringsList.
- Les champs personnalisés peuvent avoir le même nom en utilisant une configuration cachée «unique_customfield_titles» pour désactiver les «noms uniques».
- Nouveau sous-menu vers Joomla vers la liste des champs personnalisés.
- Nouvelle méthode pour calculer le prix de la variante dans la fonction "getProductPrice" en utilisant simplement TRUE pour le second paramètre au lieu d'un float
Gestion des devises
- Calcul du prix net arrondit le prix final en premier (empêche les entrées incorrectes) - calculatorH.
- CurrencyDisplay roundForDisplay Nous arrondissons en premier avant de multiplier par quantité (comme dans la calculatrice), mais pas en mode Rappenrounding.
- L'arrondi de CurrencyDisplay utilise "config d'affichage uniquement".
- Petit changement de l'arrondi dans la devise d'affichage à l'aide d'une devise différente.
- Nouvelle option partagée avec les vues d'administration des devises. (La logique du programme n'est peut-être pas complète).
Traitement d'image
- Images createThumb est uniquement exécuté lorsque le fichier n'est pas disponible. Le forçage de la création de miniature se fait par suppression.
- Recherchez les médias inutilisés dans admin.
Changer d'utilisateur par l'administrateur FE
- Nouveaux commutateurs de configuration cachés:
- ChangeShopperAlsoUseAdminShoppergroups - Ajoute les groupes de clients de l’utilisateur Admin connecté aux groupes de clients de l’utilisateur «commuté».
- ChangeShopperDeleteCart - Lorsqu'un utilisateur est choisi par l'administrateur - le contenu du panier est effacé - empêche l'inclusion accidentelle d'éléments du panier.
Commandes et paiement
- Le panier traitant un changement de quantité est inclus dans la fenêtre contextuelle et comme message d'avertissement supplémentaire dans le panier.- checkForQuantities a changé vmInfo de vmWarn.
- La mise en page "padded" a une petite mise à jour pour afficher tous les avertissements de quantité dans la fenêtre contextuelle.
- les produits peuvent utiliser des classes html dans la ligne des articles du panier
- Les données utilisateur d'extraction sont stockées, même lorsque la validation du champ utilisateur échoue (la validation concerne le processus d'extraction).
- Certains travaux sur $ cart-> orderdoneHtml = $ html; thématique (dans vmpsplugin.php).
- Admin Order List, séquence plus intuitive pour les colonnes.
- L'édition des commandes ne stockera qu'une adresse d'expédition lorsque STsameAsBT est vide. Nouvelle variable d'ordre - STsameAsBT. Avec une nouvelle case à cocher pour contrôler l'ajout d'une adresse ST dans l'édition de la commande.
Général
- Ajout de JRoute à l'action du formulaire d'édition de l'utilisateur dans FE.
- Ajout de fournisseurs de filtres à la liste d'utilisateurs.
- Captcha pour le formulaire de contact du fournisseur.
- Configuration de la boutique pour les vues FE "Définit la version de la disposition bootstrap X", qui ajoute un préfixe, par exemple, bs2- pour les mises en page chargées.
- Ajout de la fonction "alt" à vmText.
Modifications
- Mise à jour importante pour le plugin VirtueMart System. Il essaie de charger le fichier de configuration du programme d'installation et non celui déjà installé.
- Chaîne codée en dur échangée contre vmText.
- Espaces à tabulation et indentation.
- Remplacé tout id = "vm. With id =" vm-
- Déplacement de la validation js et définition des listes déroulantes choisies dans un fichier supplémentaire.
- Supprimé double id = "reg_text", remplacé par "class.
- Modification de la chaîne de langue dans de-DE.com_virtuemart_config.ini et en-GB.com_virtuemart_config.ini.
- Suppression de mootools à partir du modèle vmbeez3.
- Ajout du plugintype vmextended à whitefilter de controllers / plugin.php.
- Le vérificateur d'appartenance affiche une erreur dans la requête ajax (plus simple à déboguer).
- Ajout de JRoute au lien produit dans les sous-produits.
- js utilisant data-vm = "product-container" au lieu de classes, repli fourni.
- js utilise maintenant data-vm, toutes les dépendances aux classes seront bientôt supprimées. Les replis fournis.
- Les méthodes vmpsplugin.PHP qui ne peuvent pas être sélectionnées ne sont plus disponibles dans le tableau des méthodes disponibles.
- La fonction vmplugin _getLayoutPath n'est pas publique et statique.
- getMyOrderDetails, a changé le 3ème paramètre non utilisé. Il définit maintenant si la configuration doit être prise en compte pour le suivi des commandes. Certaines tierces parties en ont besoin.
- Nouveau retour en arrière pour les champs personnalisés de produits, lorsque le panier est chargé et ne contient aucune donnée dans la session.
- Changement de l'attribut reload = 1 à data-reload = 1 (avec repli en js pour l'ancien reload = 1).
- Texte d'activation modifié dans l'e-mail d'enregistrement, lorsqu'il est défini sur "Activation par l'administrateur".
- prepareViewForMail utilise maintenant le contrôleur générique, pas un contrôleur spécifique (peut créer des problèmes avec les contrôleurs Admin et FE portant le même nom).
- Cart helper checkAutomaticSelectedPlug, lorsqu'aucune méthode n'est disponible, method_id est défini sur 0.
- Les fichiers d'extensions sont directement copiés du répertoire temporaire vers le bon emplacement.
- Product_name est maintenant géré dans le contrôleur comme les autres champs de saisie spéciaux et suit la liste de contrôle d'accès pour l'écriture de texte brut / HTML ou simplement du texte normal.
- Ajouté à getInstance de CalculHelper les paramètres vendorId, countryId et stateId.
- Test pour pays / état amélioré. Différenciation ajoutée entre valide et obligatoire.
- Améliorez les performances de la fonction CalculHelper setCountryState en utilisant un nouveau modèle pour charger le pays et l'état de l'utilisateur enregistré.
- Ajout d'une fonctionnalité cachée, "directCheckout", qui lance directement le processus de vérification avec une redirection
Corrigé
- L'URL de currency_converter / convertECB.php doit maintenant utiliser https.
- Correction du petit objet panier qui empêche le remplacement de $ customProductData, lorsque le déclencheur plgVmOnAddToCartFilter est utilisé.
- Correctif important pour le bon état de la commande pour l'historique des commandes.
- Un correctif important pour la modification de la commande entraînait des résultats de calcul incorrects - a remplacé product_item_price pour product_discountedPriceWithoutTax pour le calcul du sous-total.
- Les cases à cocher des cases à cocher sont désormais correctement stockées dans la commande.
- Valeur de retour fixe de la fonction CreateOrderHead http://forum.virtuemart.net/index.php?topic=140616.0.
- Ajout de $ view-> mediaToSend = array (); dans la fonction sendVmMail pour empêcher l'envoi de médias mis en cache dans les e-mails de mise à jour de l'état des commandes.
- Correction pour order_status vs order_status_code.
- heidelpay, petites corrections et changements.
- PayPal hébergé, devise fixe.
- Paypal hébergé iframe peu de prise pour EMAILLINK - ne gère aucune réponse de PayPal.
- Paiement standard: correction dans tmpl.
- Paiement standard: le statut de la commande de mise à jour se produit maintenant avant le rendu de la vue par ordre.
- eway: corrige le CVN en cas de réparation du chariot avec factureDescription.
- authorize.net plgVmOnShowOrderFEPayment est devenu public http://forum.virtuemart.net/index.php?topic=133563.msg492466#msg492466.
- Corrigez la faute de frappe dans config.php dans JLoader :: register, creditcart.php à creditcard.php.
- Stockage correct des customplugins.
- plgVmOnStoreInstallPluginTable du plugin de spécification.
- Liens vers des groupes de clients dans la liste des méthodes de paiement / de livraison.
- Le texte dans le module de recherche de Virtuemart ne supprime pas https://forum.virtuemart.net/index.php?topic=139961.0.
- Petit correctif dans l'édition du produit d'administration, qui empêche de supprimer les catégories si un produit est stocké avant le chargement de l'arborescence des catégories.
- Problème avec les catégories parentes non chargées dans les détails du produit.
- Erreurs mineures et fautes de frappe (par exemple une note lancée clonant un produit (merci Patrick K.).
- Cache de catégorie.
- Sublayout customfield a utilisé des clés en double.
- Correction d'une petite erreur dans en-GB.mod_virtuemart_product.ini.
- Correction de certains problèmes de traduction du langage.
- Mise à jour de-DE.mod_virtuemart_product.ini.
- remplacé JFactory :: getLanguage contre vmLanguage :: getLanguage.
Corrections mineures
- vmstore template foundation.
- Ajout de la suppression de la progression de la synchronisation des médias lorsque vous avez terminé.
- Suppression de l'ancienne VM_VERSION (compatibilité j2.5).
- Suppression de plus de DS, également pour les chemins, ajouté vRequest :: filterPath ().
- Joomla Fullinstaller.
- Suppression des fichiers inutilisés.
- Remplacement de l'ancien JError contre l'exception.
- Ajout de notes de licence manquantes.
- Un peu de vieux JRaiseError, JREQUEST_ALLOWHTML (également d’anciens commentaires).
- Suppression des rapports d'erreurs non utilisés (0); dans Admin / views / orders / view.raw.php.
- Supprimé ancien si! Class_exists l'exige.
- Installez script.virtuemart.php enlevé l'ancien héritage j1.6.
- PayPal a mis à jour le champ xml vers vmfile vers vmfiles.
- Mise à jour du fichier d'installation de vmbeez en utilisant la méthode "upgrade".
- Le programme d'installation AIO remplacé is_dir par rapport à JFolder :: existe pour empêcher un message d'erreur faux positif.
- Supprimé un peu plus de DS, le DS restant est destiné à realpath, qui pourrait être en dehors du dossier Web.
- Plugin Textinput, ancien trigger supprimé.
- vmuploader, échec du filtre de téléchargement joomla renvoie false.
- Message amélioré lorsqu'aucune devise de fournisseur n'est définie.
- Suppression des clés de langue inutiles. Les clés de langues utilisées dans un fichier de langue spécial ne doivent jamais apparaître dans le fichier de langue du composant par défaut.
- Programme d'installation du package: ajout du repli dans vmplugin pour obtenir le fichier xml du dossier par défaut en cas d'échec du dossier d'installation temporaire.
- Programme d'installation du package: ajout de vérification dans updatesmigration.php si xml est disponible.
- Utilisez une variable interne html pour afficher les messages. Il est répercuté pour une installation normale et inséré dans la demande d'installation du package.
- Ajout d'un modèle à package.
- Mise à jour du js du modèle.
- La liste des fournisseurs envoie maintenant le formulaire et est triée par nom.
- Changement de la fonction getUserList en utilisant user_is_vendor au lieu de is_vendor.
TCPDF
- Déplacement des fichiers tcpdf vers des bibliothèques / vendor / tecnickcom / et des bibliothèques / src / Document en suivant la nouvelle structure de fichier de Joomla.
- Supprime maintenant l'ancien dossier "libraries" dans le dossier be au cas où il existe.
- Suppression des anciens fichiers j2.5, j1.6 et DS.
- Remplacé DS pour /.
- Correction d'un mauvais chemin dans getTCPDFFontsList.
- Correction d'une faute de frappe dans vmpdf.
Travaux en cours
- Le fournisseur modélise une autre idée pour gérer un magasin multidevises (cela signifierait créer des factures dans la devise sélectionnée par l'utilisateur).
- Meilleur remboursement des factures
Améliorations
Prise en charge de PHP 7.1 / 2
- Cryptage et décryptage avec openssl pour la compatibilité avec PHP 7.2.
Modifications du modèle de commande
- Nouveau déclencheur plgVmOnUpdateSingleItem.
- Variable supplémentaire $inputOrder aux anciens déclencheurs plgVmOnUpdateOrderShipment et plgVmOnUpdateOrderPayment.
Des produits
- Nouvelle fonctionnalité "produits maximum", "clients maximum" par fournisseur et "modèle de produit forcé".
- Le produit est chargé pour une commande même s'il n'est pas publié.
- Nouveau filtre pour les prototypes personnalisés dans la liste des produits.
- Les produits peuvent se voir attribuer une catégorie canonique fixe - utile lorsqu'un produit se trouve dans plusieurs catégories et que le nom de la catégorie fait partie de l'URL du produit - product_canon_category_id.
- Liste de produits Admin - Une liste à puces pour les catégories est maintenant affichée. La catégorie canonique est mise en évidence.
- Modèle de produit, getProduct, les champs personnalisés sont toujours chargés.
- Pour la recherche d’articles en frontal - le modèle de produit ne remplace plus le caractère de recherche «-» par «%».
- Changement de table dans les tables products_language, “product_desc” maintenant défini comme type de données “text” (plus de varchars).
Traduction libre de l'article Virtuemart 3.4 prepare for the future