Modify

Opened 7 years ago

Closed 6 years ago

Last modified 6 years ago

#1612 closed Bug/Fehler (fixed)

In Klassenerweiterungen ist das Sprach-Handling problematisch

Reported by: noRiddle Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.5.0
Component: Admin Version: 2.0.4.2
Keywords: Cc:
Blocked By: Blocking:

Description

Wenn man eine Klassenerweiterung schreibt kann man die sprachabhängigen Texte

  • mittels einer Funktion translate() definieren, wie es z.B. in /includes/modules/order/productTagsOnCheckout.php gemacht wird, oder
  • mittels Sprachdateien in /lang/SPRACHE/module/MODULE_TYPE/

Das funktioniert allerdings nicht bei allen Klassenerweiterungen gleich und Erstgenanntes will mir auch frickelig erscheinen.

Bei einer shopping_cart-Klassenerweiterung beispielsweise, ist ein translate() mittels

switch($_SESSION['language_code'])

nicht möglich, weil, was das Frontend betrifft, die Session noch nicht initiiert ist (siehe /includes/application_top.php), für's Backend ginge es so.

Mittels genanntem Sprach-File geht es ebenfalls im Frontend nicht weil das zugehörige Sprachfile nur im Backend geladen wird wenn

$_GET['set']

gesetzt ist (siehe /admin/modules.php),
die Erweiterung der shopping_cart-Klasse jedoch im Frontend bereits bei Instantiierung der shopping_cart-Klasse selbst ebenfalls instantiiert wird.

Man kann sich zwar mit einem

if(isset($_SESSION['language_code'])) { //this is to prevent notice on not yet set session in front end
    $this->translate();
} 

behelfen, insofern die nötigen Texte nur für's Backend nötig sind, was meist der Fall sein dürfte, das ist jedoch imho keine zufriedenstellende Lösung.
Vor allem auch deshalb nicht weil es so keine systematisch gleiche Vorgehensweise für Klassenerweiterungen gibt.

Gruß,
noRiddle

Attachments (0)

Change History (6)

comment:1 by Torsten Riemer, 7 years ago

Reporter: changed from anonymous to noRiddle
Version: 2.0.4.2

comment:2 by anonymous, 7 years ago

Korrektur um der Exaktheit willen:
Dieser Satzteil
"...die Erweiterung der shopping_cart-Klasse jedoch im Frontend bereits bei Instantiierung der shopping_cart-Klasse selbst ebenfalls instantiiert wird."

sollte so lauten
"...die Erweiterung der shopping_cart-Klasse jedoch im Frontend bereits bei Includen der shopping_cart-Klasse selbst instantiiert wird."

Gruß,
noRiddle

comment:3 by Gerhard Waldemair, 6 years ago

Resolution: fixed
Status: newclosed

In 11774:

fix #831, #1571 & #1612

comment:4 by Gerhard Waldemair, 6 years ago

In 11775:

fix #1571 & #1612

comment:5 by Torsten Riemer, 6 years ago

In 11777:

revised r11774 (fix #831, #1571 & #1612)

comment:6 by Torsten Riemer, 6 years ago

Milestone: modified-shop-2.0.5.0

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.