Ich möchte in php den Backendbezeichner der Artikelspalten anzeigen lassen. Beispielsweise ‘GENERAL_ARTICLE_OXARTNUM’ => ‘Artikelnummer’
$oLang = oxLang::getInstance();
echo $oLang->translateString('GENERAL_ARTICLE_OXARTNUM', $oLang->getBaseLanguage);
Leider wird nur der Key ‘GENERAL_ARTICLE_OXARTNUM’ ausgegeben.
Weiß jemand woran das liegt bzw. wo mein denkfehler ist?
So:
echo oxLang::getInstance()->translateString('GENERAL_ARTICLE_OXARTNUM')
oder:
echo oxRegistry::getLang()->translateString( 'GENERAL_ARTICLE_OXARTNUM' );
oder:
$oLang = oxRegistry::getLang();
echo $oLang->translateString('GENERAL_ARTICLE_OXARTNUM', $oLang->getBaseLanguage());
Welche Shopversion?
Gerade noch gesehen: Da fehlen die Klammern:
$oLang->getBaseLanguage[B]()[/B]
Oxid 4.6.5. Leider etwas älter.
Aber hab grad mal geschaut. Da gibts kein oxRegistry.
Hab mir grad die oxLangInstance ausgeben lassen.
print_r($oLang, true);
Irgendwie sind da nicht alle drin.Muss ich da vielleicht noch irgendwie den Bereich wählen?
Wenn ich oxLang::getInstance()->translateString(‘ADDITIONAL_INFO’) ausgebe funktioniert es. Also scheint es wirklich irgendwie daran zu liegen.
[QUOTE=Peter1988;138202]
$oLang = oxLang::getInstance();
echo $oLang->translateString('GENERAL_ARTICLE_OXARTNUM', $oLang->getBaseLanguage);
[/QUOTE]
Für die Übersetzung müssen keine bestimmten Bereiche gewählt werden (bis auf die Sprachen natürlich). Wie geschrieben, fehlen oben die Funktionsklammern.
getBaseLanguage[B]()[/B]
Schönes Wochenende !
Scheinbar aber doch.
hab es mit den Klammern gemacht. Gleiches Ergebnis 
$oLang->translateString('GENERAL_ARTICLE_OXARTNUM', $oLang->getBaseLanguage())
Und wenn ich mir das $oLang ausgebe sind die ganzen Übersetzungen von der “out/admin/de/lang.php” nicht enthalten.
Daran wird es liegen. Aber ich weiß nicht wie ich an die rankomme 
Weiß wirklich niemand wie es gehen könnte?
Auch wenn’s schon älter ist, die Antwort sollte für oxid (4.7.5 evtl. auch früher) lauten:
$oLang = oxRegistry::getLang();
echo $oLang->translateString('GENERAL_ARTICLE_OXARTNUM', $oLang->getBaseLanguage(), true);
Der zusätzliche Paramete [B]true[/B] zwingt die Übersetzungsroutine die Sprachkonstanten aus dem Adminbereich des Shops zu laden.
Siehe dazu auch die Datei [I]\core\oxlang.php[/I]
Moin,
nach dem Update auf 4.9.2 funktionierte ein Shop nicht mehr.
Dann habe ich im error.log folgenden Fehler gefunden:
PHP Fatal error: Call to undefined method oxLang::getInstance() in /var/www/modules/myfile.php on line 11
In dem Modul stand folgender Code in der besagten Zeile:
$oLang = oxLang::getInstance();
Ein Blick in die core/oxlang.php zeigt mir folgendes:
/**
* returns a single instance of this class
*
* @deprecated since v5.0 (2012-08-10); Use Registry getter instead - oxRegistry::getLang();
*
* @return oxLang
*/
public static function getInstance()
{
return oxRegistry::getLang();
}
Also:
$oLang = oxLang::getInstance();
entfernen und stattdessen:
$oLang = oxRegistry::getLang();
nutzen. (hat DrBrain auch schon gesagt, wollte ich nur nochmal deutlicher machen)