status de commande en plusieurs langues

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
10 years 11 months ago #135771

Je veux faire un nouveau status de commande qui doit etre en 3 langues FR EN et DE
je le nomme :
category_title : status_store_get
category_namekey : status_store_get

comment je fais pour l'avoir en 3 langues avec les overrides ?
j'ai bien fait un STATUS_STORE_GET="Retrait en magasin" pour le FR mais ca ne marche pas

ensuite comment faire pareil avec ceux existant deja ?
j'ai fait un CONFIRMED="Vente confirmée" pour le FR mais ca ne marche pas non plus, et les 2 dans admin et site

pour resumer : un override du libellé de tous les status d'origine ou nouveaux pour chaque langue ?

il faut que ce soit traduit dans les emails des clients mais aussi impérativement dans les menus déroulant de l'admin selon la langue de l'admin (les vendeuses ne comprennent que le Français)

merci

Last edit: 10 years 11 months ago by erickb.

Please Log in or Create an account to join the conversation.

  • Posts: 82908
  • Thank you received: 13378
  • MODERATOR
10 years 11 months ago #135774

Regardez dans la traduction de base et vous aurez un exemple.
Les clefs de traduction sont du style: ORDER_STATUS_CONFIRMED et non CONFIRMED
Donc pour votre nouveau statut, la clef de traduction devrait être: ORDER_STATUS_STATUS_STORE_GET

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
10 years 11 months ago #135777

je viens d'essayer dans l'override de l'admin ET du site

ORDER_STATUS_CONFIRMED="vente confirmee"
ORDER_STATUS_STATUS_STORE_GET="Retrait en magasin"

dans la base de données le category_namekey est
confirmed
status_store_get (et au cas ou le category_name est identique)

j'ai vidé le cache ca ne marche pas pour aucun de deux ni dans les emails de notification de status ni dans le menu déroulant de l'admin, c'est status_store_get qui apparait

si je regarde dans fr-FR.com_hikashop.ini
;Order statuses
CREATED="créée"
PENDING="en attente"
CONFIRMED="confirmée"
CANCELLED="annulée"
REFUNDED="remboursée"
SHIPPED="envoyée"

j'ai donc RE-essaye un override dans les 2 emplacements CONFIRMED="vente confirmee"

ca ne marche pas,impossible d'avoir un override de ces status

Last edit: 10 years 11 months ago by erickb.

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
10 years 11 months ago #135786

dans les views de l'admin > order/listing.php

c'est le code qui genere ces valeurs

if($this->manage && !$this->popup){
							$doc = JFactory::getDocument();
							$doc->addScriptDeclaration(' var '."default_filter_status_".$row->order_id.'=\''.$row->order_status.'\'; ');
							echo $this->category->display("filter_status_".$row->order_id,$row->order_status,'onchange="if(this.value==default_filter_status_'.$row->order_id.'){return;} hikashop.openBox(\'status_change_link\',\''.hikashop_completeLink('order&task=changestatus&order_id='.$row->order_id,true).'&status=\'+this.value, document.getElementById(\'status_change_link\').getAttribute(\'rel\') == null);this.value=default_filter_status_'.$row->order_id.';if(typeof(jQuery)!=\'undefined\'){jQuery(this).trigger(\'liszt:updated\');}"');
						} else {
							echo $row->order_status;
						}

Please Log in or Create an account to join the conversation.

  • Posts: 26159
  • Thank you received: 4028
  • MODERATOR
10 years 11 months ago #136129

Bonsoir,

Il s'agit de l'appel au "type" de "Categorysub".
Voici une partie du code qui gère le chargement et la traduction

foreach($this->categories as $k => $category){
	if(empty($category->value)){
		$val = str_replace(' ','_',strtoupper($category->category_name));
		$category->value = JText::_($val);
		if($val==$category->value){
			$category->value = $category->category_name;
		}
		$this->categories[$k]->value = $category->value;
	}
Le système utilise donc bien le category_name et le transforme en constante.
Il n'utilise pas le format "ORDER_STATUS_...." permettant de ne pas avoir de confusion pour certains mots clés mais il utilise bien une traduction (la version simple).

En tout cas, c'est du côté du type categorysub qu'il faut regarder.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
10 years 11 months ago #136149

ok ca marche

donc je vais nommer tous les nouveaux status d'une manière très simple en anglais , car que se passe t il avec ce système si tu nommes un status avec des caractères spéciaux et des espaces?

le $val = str_replace(' ','_',strtoupper($category->category_name)); ?

Please Log in or Create an account to join the conversation.

  • Posts: 26159
  • Thank you received: 4028
  • MODERATOR
10 years 11 months ago #136157

Bonsoir,

Les espaces sont remplacés par les "_" (underscore), les caractères accentués sont transformés par la fonction "strtoupper" pour passer en majuscule, ça risque donc d'être complexe..
Mieux vaut éviter les accès pour le namekey !

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 2639
  • Thank you received: 66
  • Hikashop Business
10 years 11 months ago #136158

ca roule

en tout cas maintenant que je le sais j'utilise un mot simple pour les nouveaux status

Please Log in or Create an account to join the conversation.

Time to create page: 0.063 seconds
Powered by Kunena Forum