xtramen Posted January 3, 2018 Share Posted January 3, 2018 Guten tag, ich habe nun in einem Modul einen neuen String hinzugefügt. $this->module->getTranslator()->trans('stock, low to high', array(), 'Shop.Theme.Catalog') Wo kann ich diesen String nun übersetzen? Im Adminmenü bei den Übersetzungen kann ich diesen String nirgends finden. Hat mir jemand einen Tip? Danke Link to comment Share on other sites More sharing options...
eleazar Posted January 3, 2018 Share Posted January 3, 2018 Das funktioniert aber mit eigenen Modulen nicht. Du kannst jedoch in 1.7 weiterhin mit dem Legacy System arbeiten - bei Fremdmodulen musst du das sogar. Es sollte also wie in den Vorversionen heißen: {l s='stock, low to high' mod='irgendeinModul'} Dann findest du die Variable bei den Modulübersetzungen. Link to comment Share on other sites More sharing options...
xtramen Posted January 3, 2018 Author Share Posted January 3, 2018 (edited) Ok schon mal ein Ansatz Danke. Allerdings ist der String direkt in der Moduldatei und nicht im Template. Gibts da auch eine Funktion dafür? Ich behebe lediglich ein BUG in einem vorinstallierten Prestashop Modul "Facettensuche". Denn man kann im Adminmenü einstellen das nach Artikelmenge sortiert wird. In dem Modul ist dafür aber kein Eintrag. Die unteren 2 Einträge will ich eben übersetzen: private function getAvailableSortOrders() { return [ (new SortOrder('product', 'position', 'asc'))->setLabel( $this->module->getTranslator()->trans('Relevance', array(), 'Modules.Facetedsearch.Shop') ), (new SortOrder('product', 'name', 'asc'))->setLabel( $this->module->getTranslator()->trans('Name, A to Z', array(), 'Shop.Theme.Catalog') ), (new SortOrder('product', 'name', 'desc'))->setLabel( $this->module->getTranslator()->trans('Name, Z to A', array(), 'Shop.Theme.Catalog') ), (new SortOrder('product', 'price', 'asc'))->setLabel( $this->module->getTranslator()->trans('Price, low to high', array(), 'Shop.Theme.Catalog') ), (new SortOrder('product', 'price', 'desc'))->setLabel( $this->module->getTranslator()->trans('Price, high to low', array(), 'Shop.Theme.Catalog') ), // 03.01.18 // Bugfix - Sortierung nach Lagermenge fehlt(e). (new SortOrder('product', 'quantity', 'asc'))->setLabel( $this->module->getTranslator()->trans('stock, low to high', array(), 'Shop.Theme.Catalog') ), (new SortOrder('product', 'quantity', 'desc'))->setLabel( $this->module->getTranslator()->trans('stock, high to low', array(), 'Shop.Theme.Catalog') ), // Bugfix ENDE ]; } EDIT: Habs nun mal so versucht: $this->module->l('stock, high to low', 'ps_facetedsearch') Wird aber im Backend nirgends angezeigt. Edited January 3, 2018 by xtramen (see edit history) Link to comment Share on other sites More sharing options...
xtramen Posted January 3, 2018 Author Share Posted January 3, 2018 Also ich habe es nun direkt in die Datei /app/Resources/translations/de-DE/ShopThemeCatalog.de-DE.xlf geschrieben. <trans-unit id="822df3330c7e6c162f2d9fa9d1a438ea" approved="yes"> <source>Stock, high to low</source> <target xml:lang="de">Verfügbarkeit (absteigend)</target> <note>Context: File: modules/ps_facetedsearch/src/Ps_FacetedsearchProductSearchProvider.php:141</note> </trans-unit> Es wird im Frontend auch übersetzt. Jedoch im Backend nirgends angezeigt. Hat da jemand noch einen Vorschlag für mich? Keine Ahnung warum das so komisch formatiert angezeigt wird hier...sorry! Link to comment Share on other sites More sharing options...
eleazar Posted January 3, 2018 Share Posted January 3, 2018 Also doch bei einem Standardmodul! Dann war das schon ganz richtig, aber ... hier hast du doch nur Labels im Frontend angelegt ohne weitere Funktion. Da die Übersetzungsabteilung von PrestaShop 1.7 nach wie vor eine Katastrophe ist, bleibt dir anschließend nichts anderes übrig, als 'manuell' die Übersetzung der neuen Variablen hier vorzunehmen: \app\Resources\translations\de-DE\ShopThemeCatalog.de-DE.xlf Um die Zusatzoption im Back Office anzuzeigen, müsstest du dort die \modules\ps_facetedsearch\views\templates\admin\view.tpl durch einen neuen Radio-Button erweitern. Da lautet die Syntax für die Variable übrigens: {l s='stock, low to high' d='Modules.Facetedsearch.Admin'} Damit es auch funktioniert, hast du ja wahrscheinlich die entsprechenden Programmteile erweitert. Denn sonst wäre das ja reine Oberflächenkosmetik ohne irgendwelche Auswirkungen. EDIT: Die Übersetzungs-Datei hast du also schon gefunden. Ich hätte vorher mal den Browser aktualisieren sollen. Link to comment Share on other sites More sharing options...
xtramen Posted January 3, 2018 Author Share Posted January 3, 2018 (edited) Ja ich habe im Controller für die Facettensuche eine kleine Änderung vorgenommen damit das auch eine Funktion hat. Die Funktion "getProductByFilters" habe ich mit folgendem erweitert: if($order_by == 'p.quantity'){ $order_by = 'quantity'; } Unter Shop-Einstellungen->Artikel kann man die Standardsortierung nach Artikelmenge einstellen. Wenn man das tut, dann hat man aber gar keine Option im Frontend dafür. Es wird dann einfach nichts angezeigt im Dropdown. Das andere ist, das in sämtlichen Controllern für Artikelauflistungen, gar nicht mehr in der Tabelle "product" gesucht wird. Die Artikelmengen sind in der Tabelle "stock_available" hinterlegt. Deshalb die zusätzliche kleine Änderung im Controller. Es funktioniert nun zwar wie gewünscht, allerdings macht es mich wahnsinnig, das die Übersetzung nicht im Backend bei den Übersetzungen angezeigt wird :-/ Danke für die Unterstützung! Edited January 3, 2018 by xtramen (see edit history) Link to comment Share on other sites More sharing options...
eleazar Posted January 4, 2018 Share Posted January 4, 2018 vor 16 Stunden schrieb xtramen: Es funktioniert nun zwar wie gewünscht, allerdings macht es mich wahnsinnig, das die Übersetzung nicht im Backend bei den Übersetzungen angezeigt wird :-/ Na ja, wenn du willst, dass alles weitgehend funktioniert, dann solltest du auch nicht PrestaShop 1.7 einsetzen, sondern bei 1.6 bleiben. Link to comment Share on other sites More sharing options...
xtramen Posted January 4, 2018 Author Share Posted January 4, 2018 1.6 hat keine Zukunft :-/ Wird sicher bald behoben. Aber egal ich bekomme es schon raus. Danke trotzdem für die Mühe! Link to comment Share on other sites More sharing options...
eleazar Posted January 4, 2018 Share Posted January 4, 2018 vor 12 Minuten schrieb xtramen: Wird sicher bald behoben. Aber egal ich bekomme es schon raus. Dann poste deine Lösung am besten bei Github, denn zumindest bis kurz vor Weihnachten tappte das Entwicklerteam da noch im Dunkeln. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now