ShopMann Posted June 24, 2017 Share Posted June 24, 2017 (edited) Hallo, ich möchte den Help-Button für alle Benutzer ausser Super-User entfernen. Hier gibt es Vorschlag mit Codeänderung in der Standart-Thema und die Idee durch eine if-Bedingung unterscheiden zwischen dem Superuser und den anderen Benutzer: https://www.prestashop.com/forums/topic/334626-need-to-disable-help-function-in-16-backoffice/ Und hier der User bellini132 schlägt vor eine Lösung, die hängt gar nicht von Templates aber ich verstand nicht wie genau das geht und die Lösung wiederum unterscheidet gar nicht wer ist im Backoffice gerade angemeldet: https://www.prestash...in-admin-panel/ Kann jemand die richtige Lösung samt vollständigem Code und kurzer Anleitung anbieten? Ich habe den Prestashop 1.6.1.14. Edited June 26, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
rictools Posted June 24, 2017 Share Posted June 24, 2017 Der erste Link führt nicht zu einem Beitrag. Hast du es denn nach der Anleitung versucht? Verwendest du denn verschiedene BackOffice-Themes? Mit dem Front-Office-Theme dürfte das ja nichts zu tun haben. Link to comment Share on other sites More sharing options...
ShopMann Posted June 25, 2017 Author Share Posted June 25, 2017 (edited) Der erste Link führt nicht zu einem Beitrag. Hast du es denn nach der Anleitung versucht? Verwendest du denn verschiedene BackOffice-Themes? Mit dem Front-Office-Theme dürfte das ja nichts zu tun haben. Sorry, ich habe gerade den Link korregiert. Was betrifft den zweiten Ansatz, ich habe es einfach nicht verstanden wo genau muss ich den Code rein schreiben - ich verstehe noch nicht wie man mit Overrides umgeht. Wobei, wie gesagt, die Lösung unterscheidet gar nicht zwischen dem Superuser unde den anderen Users, also da fehlt die IF-Bedingung. Edited June 25, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
rictools Posted June 25, 2017 Share Posted June 25, 2017 (edited) Was du in dem Zusammenhang mit Templates willst, verstehe ich nach wie vor nicht, normalerweise hast du das gleiche BackOffice-Theme wie alle anderen, mit unterschiedlichen FrontOffice-Themes hat das nichts zu tun. In dem jetzt verlinkten Beitrag steht nichts von Overrides, du erfährst dort in welcher Datei du den Code für den Help-Button entfernen kannst, diese Änderung ist dann nach einem Update möglicherweise wieder weg und muß wiederholt werden (mit Overrides kann man das verhindern, wenn du da Wert drauf legst, mußt du dich in diese Thematik einlesen). Ob du direkt eine Variable zur Verfügung hast, aus der hervorgeht, ob du als Admin die Seite besuchst (und damit dann eine if-Bedingung formulieren kannst) weiß ich nicht (ich arbeite ganz allein am Shop ...), vielleicht kann jemand anderes dazu etwas schreiben. Der kurze Beitrag von vekia dazu kann bedeuten, daß das ganz einfach ist und eigentlich nicht näher erläutert werden muß oder daß das eine etwas aufwändigere Programmierung erfordert, weil man da noch andere Dateien ändern muß (ich vermute letzteres). Was die ganze Aktion für einen praktischen Sinn haben soll, ist mir nebenbei bemerkt sowieso ein Rätsel. Edited June 25, 2017 by rictools (see edit history) Link to comment Share on other sites More sharing options...
ShopMann Posted June 26, 2017 Author Share Posted June 26, 2017 Was du in dem Zusammenhang mit Templates willst, verstehe ich nach wie vor nicht, normalerweise hast du das gleiche BackOffice-Theme wie alle anderen, mit unterschiedlichen FrontOffice-Themes hat das nichts zu tun. Richtig. Das war meine Denkfehler. Ich habe den Beitrag korregiert. Wer könnte verraten wie man die Email des eingellogten im Backoffice User ermittelt? Ich brauche den Code dafür. Den Rest hoffentlich schaffe ich selbst. Link to comment Share on other sites More sharing options...
rictools Posted June 26, 2017 Share Posted June 26, 2017 Hast du mal $id_employee probiert? Link to comment Share on other sites More sharing options...
Scully Posted June 29, 2017 Share Posted June 29, 2017 (edited) Ich würde es nicht an der konkreten Mailadresse aufhängen. Hier mal ein Beispiel, wie es generell funkioniert. if (Context::getContext()->employee->id_profile == 1) { /* Bestehenden Code für Button hier belassen */ } Das Feld id_profile == 1 entspricht der Gruppe Super Admin. Alle User mit diesem Profil sehen nach wie vor alles wie normal, andere User sehen dann nichts. Edited June 29, 2017 by Scully (see edit history) 1 Link to comment Share on other sites More sharing options...
Scully Posted June 29, 2017 Share Posted June 29, 2017 (edited) Ganze Lösung hier: /classes/controller/AdminController.php ab ca. Line 1545: Die Zeilen 1 und 4 gemäss obigem Link sind neu eingefügt. if (Context::getContext()->employee->id_profile == 1) { $this->context->smarty->assign('help_link', 'http://help.prestashop.com/'.Language::getIsoById($this->context->employee->id_lang).'/doc/' .Tools::getValue('controller').'?version='._PS_VERSION_.'&country='.Language::getIsoById($this->context->employee->id_lang)); } Danke für einen Like, wenn es funktioniert. Edited June 29, 2017 by Scully (see edit history) 1 Link to comment Share on other sites More sharing options...
ShopMann Posted June 29, 2017 Author Share Posted June 29, 2017 (edited) Ganze Lösung hier: /classes/controller/AdminController.php ab ca. Line 1545: Die Zeilen 1 und 4 gemäss obigem Link sind neu eingefügt. Danke für einen Like, wenn es funktioniert. Super! Ich kann es erst später oder morgen auszutesten aber sieht gut aus. Ich werde dann über die Ergebnisse berichten. Edited June 29, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
ShopMann Posted July 1, 2017 Author Share Posted July 1, 2017 (edited) Ich würde es nicht an der konkreten Mailadresse aufhängen. Hier mal ein Beispiel, wie es generell funkioniert. Das Feld id_profile == 1 entspricht der Gruppe Super Admin. Alle User mit diesem Profil sehen nach wie vor alles wie normal, andere User sehen dann nichts. Leider funktioniert nicht. Danach keine Seite des Backoffices geladen wird. HTTP ERROR 500. Edited July 1, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
Scully Posted July 1, 2017 Share Posted July 1, 2017 (edited) Dass wäre dann ein Syntax Fehler in der geänderten PHP-Datei. Prüfe diese doch mal mit einem Syntax Checker zB hier: http://www.meandeviation.com/tutorials/learnphp/php-syntax-check/ Edited July 1, 2017 by Scully (see edit history) Link to comment Share on other sites More sharing options...
ShopMann Posted July 1, 2017 Author Share Posted July 1, 2017 Dass wäre dann ein Syntax Fehler in der geänderten PHP-Datei. Prüfe diese doch mal mit einem Syntax Checker zB hier: http://www.meandeviation.com/tutorials/learnphp/php-syntax-check/ Hier ist Ausschnitt aus der geänderter Datei /classes/controller/AdminController.php: $this->addPageHeaderToolBarModulesListButton(); if (Context::getContext()->employee->id_profile == 1) { $this->context->smarty->assign('help_link', 'http://help.prestashop.com/'.Language::getIsoById($this->context->employee->id_lang).'/doc/' .Tools::getValue('controller').'?version='._PS_VERSION_.'&country='.Language::getIsoById($this->context->employee->id_lang)); } /** * assign default action in toolbar_btn smarty var, if they are not set. * uses override to specifically add, modify or remove items * */ Und der Link funktioniert nicht, keine Seite geladen wird. Link to comment Share on other sites More sharing options...
Scully Posted July 1, 2017 Share Posted July 1, 2017 Der Ausschnitt sieht erstmal gut aus. Trotzdem: Bitte die gesamte Datei hier einstellen oder erstmal den Online Check durchführen und berichten, ob da ein Fehler angezeigt wird. Danke. Link to comment Share on other sites More sharing options...
Scully Posted July 1, 2017 Share Posted July 1, 2017 Ich habe inzwischen den obigen Code-Auszug selbst getestet. Funktioniert hier einwandfrei. Also nochmals den Tipp, einen Code-Validator zu Hilfe nehmen, z.B. auch diesen hier: https://de.piliapp.com/php-syntax-check/ Ergab bei mir Null Fehler. Wenn es trotzdem nicht klappt, mit dem fehlerhaften Code eingespielt nochmals ein Login versuchen und anschliessend auf dem Server das Error-Logfile überprüfen. Dort kann man dann nachlesen, was genau zum Fehler führte. 1 Link to comment Share on other sites More sharing options...
ShopMann Posted July 1, 2017 Author Share Posted July 1, 2017 (edited) Bitte die gesamte Datei hier einstellen. Die ganze Datei im Anhang. AdminController_HELP4SuperUser.php Und der Checker sagt: "Parse error: syntax error, unexpected 'public' (T_PUBLIC) in CODE on line 1555 Errors parsing CODE". Ich habe es für die Versionen pHP 5.3, 5.6 und 7.1 getestet. Ich wende an meinem PrestaShop 1.6.1.15 die PHP 7.1 an. Edited July 1, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
Scully Posted July 1, 2017 Share Posted July 1, 2017 Du hast am Code mehr geändert, als instruiert von mir. Schau mal Deine Klammersetzung an. Es fehlt eine schliessende Klammer, die Du durch die Änderung weggelassen hast. Einmal diejenige für den neuen IF, dann aber die "alte" bestehende Klammer um die Funktion initPageHeaderToolbar() abzuschliessen. Parse error: syntax error, unexpected T_PUBLIC in CODE on line 1555Errors parsing CODE 1 Link to comment Share on other sites More sharing options...
Scully Posted July 1, 2017 Share Posted July 1, 2017 So wäre korrekt: $this->addPageHeaderToolBarModulesListButton(); if (Context::getContext()->employee->id_profile == 1) { $this->context->smarty->assign('help_link', 'http://help.prestashop.com/'.Language::getIsoById($this->context->employee->id_lang).'/doc/' .Tools::getValue('controller').'?version='._PS_VERSION_.'&country='.Language::getIsoById($this->context->employee->id_lang)); } } /* diese schliessende Klammer beendet die Funktion */ /** * assign default action in toolbar_btn smarty var, if they are not set. * uses override to specifically add, modify or remove items * */ 1 Link to comment Share on other sites More sharing options...
ShopMann Posted July 1, 2017 Author Share Posted July 1, 2017 (edited) Du hast am Code mehr geändert, als instruiert von mir. Schau mal Deine Klammersetzung an. Es fehlt eine schliessende Klammer, die Du durch die Änderung weggelassen hast. Einmal diejenige für den neuen IF, dann aber die "alte" bestehende Klammer um die Funktion initPageHeaderToolbar() abzuschliessen. Parse error: syntax error, unexpected T_PUBLIC in CODE on line 1555 Errors parsing CODE Hurrrraaaa!!! Jetzt funktioniert es und zwar genau wie ich es wollte! Besten Dank und meine Likes! Edited July 2, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
Scully Posted July 2, 2017 Share Posted July 2, 2017 Danke für die Rückmeldung. Link to comment Share on other sites More sharing options...
ShopMann Posted August 2, 2017 Author Share Posted August 2, 2017 (edited) Danke für die Rückmeldung. Hallo Scully und alle liebe Prestashop-Gemeinde Mitglieder, Könntest Du oder jemand die änliche Lösung für den Prastashop 1.7.2.0 vorschlagen? Danke im Voraus. Edited August 2, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
Scully Posted August 2, 2017 Share Posted August 2, 2017 Hallo Viaceslav, Ich muss leider passen, wir haben diese Version nicht im Einsatz. Vielleicht kannst Du es aber anhand der Lösung für 1.6. adaptieren? Generell wäre die Frage, ob der Controller in 1.7. noch gleich heisst bzw. wo der liegt. Dann wäre die Sache nicht sehr kompliziert. Viele Grüsse. 1 Link to comment Share on other sites More sharing options...
ShopMann Posted August 2, 2017 Author Share Posted August 2, 2017 (edited) Hallo Viaceslav, Ich muss leider passen, wir haben diese Version nicht im Einsatz. Vielleicht kannst Du es aber anhand der Lösung für 1.6. adaptieren? Generell wäre die Frage, ob der Controller in 1.7. noch gleich heisst bzw. wo der liegt. Dann wäre die Sache nicht sehr kompliziert. Viele Grüsse. Hallo, ich habe es an der Version 1.7.1.2 geprüft. Version 1.7.2.0 installiere ich später. Erstaunlicherweise, nicht nur die gleiche Datei an gleichem Ort existiert, sondern auch die entsprechende Zeilen unverändert da sind. Ich habe die gleiche Änderungen, wie für die PS-Version 1.6.1.14, vorgenommen und es funktioniert. Also noch mal ein Danke schön Edited August 2, 2017 by Viaceslav (see edit history) Link to comment Share on other sites More sharing options...
Scully Posted August 2, 2017 Share Posted August 2, 2017 That was easy! Sehr gut. 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