Overrides: edit.php für best. Usergroup

Mehr
13 Mai 2019 10:35 #46749 von galbur
Overrides: edit.php für best. Usergroup wurde erstellt von galbur
Hallo miteinander

Eine bestimmte Usergroup soll ein etwas abgespecktes Formular im Frontend erhalten um Artikel zu editieren.
Das hat mit dem Override von mytemplate/html/com_content/form/edit.php auch gut funktioniert.
Ich möchte aber diesen Override eben nur dieser spzifischen Usergroup zur Verfügung stellen. Wo müsste ich da ansetzen?

Vielen Dank
und LG Christoph

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Mai 2019 09:15 #46754 von Tribal6
Heu Christoph
Ich würde folgendes versuchen:
Beide Versionen deiner edit.php, aber unter anderem Namen (z.B. 'edit_default.php' und 'edit_slim.php') am selben Ort bei den Overrides speichern, und in der eigentlichen Override-Datei (edit.php) includest du abhängig von der Benutzergruppe(n) des Users z.B. 'edit_default.php' oder 'edit_slim.php'.

So bleibt zwar alles update- aber halt auch no-new-Features-sicher :)

Prösterchen
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Folgende Benutzer bedankten sich: galbur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Mai 2019 15:21 #46756 von galbur
Heu Roger

Herzlichen Dank ...
Ähm. Ich habe mir jetzt zwar endlich das (wirklich) grosse Buch "Einstieg in PHP 7 und Mysql" gekauft, weiss aber leider immer noch nicht genau wie ich das denn nun machen muss: Abhängig von der Usergroup inkludieren ...

Grüss Dich
und freundliches Wiehern meinerseits...
Christoph

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Mai 2019 08:09 #46761 von Tribal6
Versuch mal das da:
Code:
// Aktueller User und seine zugew. Gruppen holen $user = \Joomla\CMS\Factory::getUser(); $usergroups = $user->getAuthorisedGroups(); // Usergruppe mit 'schlankem' Formular: $slimFormUserGroup = 2; if(in_array ($slimFormUserGroup,$usergroups)) { // 'schlankes' Formular require 'edit_slim.php'; } // alle anderen: 'normales' Formular require 'edit_default.php';

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Folgende Benutzer bedankten sich: galbur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Mai 2019 16:27 - 15 Mai 2019 17:05 #46766 von galbur
Lieber Roger

Cool. Hat geklappt. Und ich habe sogar die Falle bemerkt welche Du mir gestellt hast.
Da fehlte doch glatt ein "else".

Allerherzlichsten Dank
Christoph

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Mai 2019 17:04 #46768 von galbur
Oha
Jetzt ist grad nochmals eine Frage in diesem Zusammenhang aufgetaucht.
Ich hab da auch noch ein bisschen mit CSS gespielt um die abgespeckte Version zu stylen. (auch um mit display:none gewisse Elemente auszublenden)
Wie kann ich nun ein Stylesheet einbinden welches nur für die edit_slim.php gilt?

Grüsst Euch
Christoph

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Mai 2019 17:04 #46769 von Tribal6
Cool. Hast es bemerkt. Da hat sich doch der Bücherkauf schon gelohnt. :D

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Folgende Benutzer bedankten sich: galbur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Mai 2019 08:46 #46773 von Tribal6
Salut
Als allgemeiner Tipp, für solche Sachen wie z.B. das 'CSS einbinden', frage dich immer selbst: Bin ich da der erste, der das versucht, oder gibt es das ev. schon an einer anderen Stelle? Falls ja, wo?
Denn du hast nirgends aktuellere und funktionierende Beispiele wie im Code selbst. Da kannst du sogar Google vergessen 8)

In Bezug auf das einbinden einer CSS-Datei hast du praktisch in jeder Komponente Beispiele (meist in deren views, aber auch in Modulen), wie das gemacht werden könnte. Ich für meinen Teil habe auch kurz in einer bestehenden Erweiterung nachgeschaut, um dann hier wie ein junger Halbgott mit dem Code angeben zu können :D ;)
Code:
// Usergruppe mit 'schlankem' Formular: $slimFormUserGroup = 2; if(in_array ($slimFormUserGroup,$usergroups)) { // 'schlankes' Formular // css einbinden, Templatename dynamisch $templateName = \JFactory::getApplication()->getTemplate(); $this->document->addStylesheet(\Joomla\CMS\Uri\Uri::root().'templates/'.$templateName.'/PFAD/ZUM/CSS.css'); // Formular einbinden require 'edit_slim.php'; } else { // alle anderen: 'normales' Formular require 'edit_default.php'; }

Grüssle
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Mai 2019 10:04 - 16 Mai 2019 16:21 #46774 von galbur
Heu Roger

Super!
Da zieh ich doch erneut den Hut! (vor dem Halbgott :D )
Allerherzlichsten Dank!
Ich hoffe man sieht sich wieder mal bei einer Gelegenheit auf ein flüssiges Heu ...
Bist herzlich eingeladen.

Ciao
Christoph

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
23 Mai 2019 10:42 #46792 von galbur
Hey Roger

Nochmals vielen Dank. Hat bestens funktioniert.

Gruss vom Ponyhof ...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Moderatoren: pascaleadiheutschi.chTribal6RePaoDragonlordChris Hoefliger
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden