Oui, en effet !
Je n'osait pas aborder le sujet par ce versant abrupt...
Voici comment j'ai fait pour ajouter une unité à mon produit = "Rouleau"
(de base, le choix est limité :kg;100ml;litre;cubm,sm;100g;m...)
Il y a 2 fichiers à modifier (+ la Base De Données en option)
OPTION : Si le nom de l'unité est suppérieur à 8 caractères, il faut faire un changement dans la BDD de la structure de : 'jos_virtuemart_products'.'product_unit'.
Passer de VARCHAR ( 8 ) à VARCHAR( 32 ) pour avoir de la marge .
Fichier 1:
shopfunctions.php ( .../administrator/components/com_virtuemart/helpers/ )
copié et renommé en shopfunctions-original.php (c'est au cas ou ça tournerai mal)
Modif de shopfunctions.php :
330 $weight_unit_default = array(
331 'KG' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_KG')
332 , '100G' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_100G')
333 , 'M' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_M')
334 , 'SM' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_SM')
335 , 'CUBM' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_CUBM')
336 , 'L' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_L')
337 , '100ML' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_100ML')
338 );
Dans cette liste restreinte d'unités utilisables, on peut y ajouter celles que l'on veut (à la suite)de cette façon (notez la virgule en debut de ligne...) :
, 'NOM_UNITE_UTILISEE_DANS_LA_BASE_DE_DONNEES' => vmText::_ ('NOM_UNITE_UTILISEE_DANS_FICHIER_LANGUAGE')
Et hop :
330 $weight_unit_default = array(
331 'KG' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_KG')
332 , '100G' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_100G')
333 , 'M' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_M')
334 , 'SM' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_SM')
335 , 'CUBM' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_CUBM')
336 , 'L' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_L')
337 , '100ML' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_100ML')
338 , 'ROLL' => vmText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_ROLL')
339 );
Sauvegarde du fichier 'shopfunctions.php' , copié et renommé 'shopfunctions-modif.php' (pour le retrouver le jour ou il serait écrasé)
Fichier 2 ( y en a 2 ):
fr-FR.com_virtuemart.ini ( .../language/fr-FR/ ) (GB ou autre aussi)
fr-FR.com_virtuemart.ini ( ...administrator/language/fr-FR/ ) (GB ou autre aussi)
L'override des fichiers language, en utf8 sans BOM ne fonctionnant pas sur ma machine, ce sera la même procédure de sauvegarde par 3 fichiers :
l'original, l'utilisable, le modifié ...
COM_VIRTUEMART_UNIT_SYMBOL_ROLL="Rouleau"
De cette façon, avec un 'vaderetro-override' on peut donc ajouter les unités voulues sans limitation (un peu comme avant mais en mettant les mains dans le cambouis) .
Y a t'il une autre solution ?