Cheerio,
hat es jemand schon hinbekommen, für Plug-ins nach dem neuen 5.2-Schema (in custom/plugins abgelegt), mit INI-Dateien für die Übersetzung zu arbeiten? Ich scheitere momentan kläglich.
Meine Plug-in-Datei sieht momentan so aus:
'onPostDispatchFrontend'
];
}
/**
* Checks for a valid user on every request and presents a login screen.
*
* @param Enlight_Event_EventArgs $args
* @return void
* @author Matthias Wehrlein
*/
public function onPosDispatchFrontend(\Enlight_Event_EventArgs $args)
{
$admin = Shopware()->Modules()->Admin();
if ($admin->sCheckUser()) {
return;
}
$controller = $args->getSubject();
$request = $controller->Request();
$view = $controller->View();
$response = $controller->Response();
Shopware()->Snippets()->addConfigDir($this->getPath() . '/Resources/Snippets/');
$view->addTemplateDir($this->getPath() . '/Resources/Views/');
$view->extendsTemplate('frontend/plugins/sumo_login_screen/login.tpl');
}
}
Die INI-Datei mit den Übersetzungen liegt in Resources/Snippets/frontend/plugins/sumo_login_screen/login.ini und sieht folgendermaßen aus:
[en_GB]
Login = "Login"
Test = "TEST en_GB 1.1"
[de_DE]
Login = "Anmelden"
Test = "TEST de_DE 1.2"
login.tpl (abgespeckt):
{block name='frontend_index_page_wrap'}
{s name="Test"}{/s}
{s name="Test" namespace="frontend/plugins/sumo_login_screen/login"}{/s}
{/block}
Die Snippets werden nach dem Rendern im Textbausteine-Modul registriert, allerdings ohne Wert, und natürlich ist im Frontend auch nichts zu sehen. Das Template wird allerdings korrekt gerendert.
Ich hatte auch schon versucht, den Snippets-Ordner eine Ordnerebene höher zu ziehen, führte aber ebenfalls zu nichts. Ich habe das Gefühl, dass die INI-Datei schlichtweg ignoriert wird und dass das damit zusammenhängt, dass ich mit der 5.2-Struktur fahre. Etwas stöbern im Shopware-Code scheint das auch halb zu bestätigen; stecke allerdings nicht tief genug in der Snippets-Materie, um das zu 100% zu bestätigen.
Ich habe mir alle möglichen Plug-ins angeschaut, die Shopware momentan ausliefert, insbesondere die 5.2-Beispiele, die man auf der entsprechenden Developer-Doku finden kann, aber die zeigen alle nicht den benötigen Beispielcode oder sind fehlerhaft.
Mache ich eventuell etwas grundlegendes falsch?