Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Overrides: edit.php für best. Usergroup

Overrides: edit.php für best. Usergroup 13 Mai 2019 10:35 #46749

  • galbur
  • galburs Avatar Autor
  • Offline
  • Silber Mitglied
  • Silber Mitglied
  • Beiträge: 122
  • Dank erhalten: 10
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.

Overrides: edit.php für best. Usergroup 14 Mai 2019 09:15 #46754

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
Folgende Benutzer bedankten sich: galbur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Man soll das Kind ins Korn werfen solange es noch heiss ist, auch wenn das der eine Tropfen ist, der dem Fass die Krone ins Gesicht schlägt...

Overrides: edit.php für best. Usergroup 14 Mai 2019 15:21 #46756

  • galbur
  • galburs Avatar Autor
  • Offline
  • Silber Mitglied
  • Silber Mitglied
  • Beiträge: 122
  • Dank erhalten: 10
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.

Overrides: edit.php für best. Usergroup 15 Mai 2019 08:09 #46761

Versuch mal das da:
// 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';
Folgende Benutzer bedankten sich: galbur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Man soll das Kind ins Korn werfen solange es noch heiss ist, auch wenn das der eine Tropfen ist, der dem Fass die Krone ins Gesicht schlägt...

Overrides: edit.php für best. Usergroup 15 Mai 2019 16:27 #46766

  • galbur
  • galburs Avatar Autor
  • Offline
  • Silber Mitglied
  • Silber Mitglied
  • Beiträge: 122
  • Dank erhalten: 10
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.

Letzte Änderung: von galbur.

Overrides: edit.php für best. Usergroup 15 Mai 2019 17:04 #46768

  • galbur
  • galburs Avatar Autor
  • Offline
  • Silber Mitglied
  • Silber Mitglied
  • Beiträge: 122
  • Dank erhalten: 10
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.

Overrides: edit.php für best. Usergroup 15 Mai 2019 17:04 #46769

Cool. Hast es bemerkt. Da hat sich doch der Bücherkauf schon gelohnt. :D
Folgende Benutzer bedankten sich: galbur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Man soll das Kind ins Korn werfen solange es noch heiss ist, auch wenn das der eine Tropfen ist, der dem Fass die Krone ins Gesicht schlägt...

Overrides: edit.php für best. Usergroup 16 Mai 2019 08:46 #46773

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 ;)
// 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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Man soll das Kind ins Korn werfen solange es noch heiss ist, auch wenn das der eine Tropfen ist, der dem Fass die Krone ins Gesicht schlägt...

Overrides: edit.php für best. Usergroup 16 Mai 2019 10:04 #46774

  • galbur
  • galburs Avatar Autor
  • Offline
  • Silber Mitglied
  • Silber Mitglied
  • Beiträge: 122
  • Dank erhalten: 10
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.

Letzte Änderung: von galbur.

Overrides: edit.php für best. Usergroup 23 Mai 2019 10:42 #46792

  • galbur
  • galburs Avatar Autor
  • Offline
  • Silber Mitglied
  • Silber Mitglied
  • Beiträge: 122
  • Dank erhalten: 10
Hey Roger

Nochmals vielen Dank. Hat bestens funktioniert.

Gruss vom Ponyhof ...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1