[catalog] BE-Funktionen für Redakteure ausblenden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • JamesdK
    Contao-Nutzer
    • 02.12.2009
    • 177

    #1

    [catalog] BE-Funktionen für Redakteure ausblenden

    Hallo!

    Gibt es eine Möglichkeit, die Funktionen "Neuer Eintrag" und "CSV Export" bei der Katalogbearbeitung im Backend für Redakteure auszublenden?
    Wir haben mit dem Katalog eine Eingabemaske mit fester Anzahl von Feldern gebaut, neue Einträge müssen also nicht angelegt werden. Der Redakteur soll die Möglichkeit haben, diese festen Felder abzuändern. FE-Editing oder die Nutzung herkömmlicher Inhaltselemente statt des Katalogs kommt aus anderen Gründen nicht in Frage.

    Wir haben versucht, das über diverse unset-Anweisungen in der dcaconfig.php oder langconfig.php (für die Einschränkung auf die Redakteursgruppe) hinzubekommen, finden aber leider nicht den richten Array für den "unset"-Befehl.

    Kann uns hier ein Katalog-Experte auf die Sprünge helfen?
    Grüße,
    Christian
  • bitverdreher
    Contao-Nutzer
    • 11.06.2010
    • 59

    #2
    Hallo,

    in der Rechteverwaltung der Benutzergruppen kann man die Rechte eigentlich sehr fein einstellen wer was darf was nicht (siehe "erlaubte Felder"). Dazu braucht man normalerweise nichts in den Config-Dateien ändern.

    Viele Grüße
    Frank
    Zuletzt geändert von bitverdreher; 05.04.2012, 16:04.

    Kommentar

    • JamesdK
      Contao-Nutzer
      • 02.12.2009
      • 177

      #3
      Da hast du schon recht. Die beiden Funktionen kann man aber leider nicht ausblenden darüber.
      Es geht nicht um das Anlegen von neuen Katalogen, sondern um das Anlegen von neuen Katalogeinträgen - also eine Ebene tiefer. Und hier lassen sich die Rechte leider nicht so fein definieren.

      Kommentar

      • Andreas
        Contao-Urgestein
        • 19.06.2009
        • 7709

        #4
        Im Allgemeinen könntest du das mit der dcaconfig.php so erreichen
        PHP-Code:
        $this->import('BackendUser', 'User');
        
        if(!$this->User->isAdmin)
        {
          unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['global_operations']['export']);
        } 
        
        $GLOBALS['TL_DCA']['cat_meinkatalog'] am besten vorher debuggen. Aber die Option 'Neuer Eintrag' bekomme ich auch nicht weg.
        Zuletzt geändert von Andreas; 12.04.2012, 16:07.
        Bitte!
        Vor Anfragen im Forum HTML validieren.
        Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

        Vielen Dank an alle Wunschlistenerfüller
        Andreas Burg, Web Solutions

        Kommentar

        • xtra
          Maintainer
          • 02.07.2009
          • 2007

          #5
          Zitat von Andreas Beitrag anzeigen
          Aber die Option 'Neuer Eintrag' bekomme ich auch nicht weg.
          PHP-Code:
          $this->import('BackendUser', 'User');
          if(!$this->User->isAdmin)
          {
            unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['global_operations']['export']);
            $GLOBALS['TL_DCA']['cat_meinkatalog']['settings']['closed']=true;
          } 
          
          Sollte dein Problem beheben.
          Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

          Kommentar

          • xchs
            Administrator
            • 19.06.2009
            • 14682

            #6
            Zitat von xtra Beitrag anzeigen
            Sollte dein Problem beheben.
            Müsste das DCA nicht so aussehen:
            PHP-Code:
            $GLOBALS['TL_DCA']['cat_meinkatalog']['config']['closed'] = true; 
            
            (also "config" anstelle von "settings")
            Contao Community Administrator

            [Unterstützungsmöglichkeiten]
            sigpic

            Kommentar

            • xtra
              Maintainer
              • 02.07.2009
              • 2007

              #7
              doch, sorry.

              Hab ich in der Hektik verbasselt.
              Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

              Kommentar

              • JamesdK
                Contao-Nutzer
                • 02.12.2009
                • 177

                #8
                Jungs, vielen Dank! Das hat doch wunderbar geklappt.
                Wenn man einmal den Dreh mit dem "cat_meinkatalog" raushat, kann man ja dann auch ganz schnell Löschen, Verschieben usw. für den User ausblenden:
                Code:
                $this->import('BackendUser', 'User'); 
                if(!$this->User->isAdmin) 
                { 
                  unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['global_operations']['export']);
                  unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['delete']); 
                  unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['cut']);
                  unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['copy']);
                  unset($GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['show']);
                  $GLOBALS['TL_DCA']['cat_meinkatalog']['config']['closed'] = true;  
                }

                Kommentar

                • Andreas
                  Contao-Urgestein
                  • 19.06.2009
                  • 7709

                  #9
                  Besser
                  PHP-Code:
                  $this->import('BackendUser', 'User');
                  if(!$this->User->isAdmin)
                  {
                    unset(
                      $GLOBALS['TL_DCA']['cat_meinkatalog']['list']['global_operations']['export'],
                      $GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['delete'],
                      $GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['cut'],
                      $GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['copy'],
                      $GLOBALS['TL_DCA']['cat_meinkatalog']['list']['operations']['show']
                    );
                    $GLOBALS['TL_DCA']['cat_meinkatalog']['config']['closed'] = true;
                  } 
                  
                  ps Für PHP-Code kannst du hier im Forum den PHP-Button benutzen.
                  Bitte!
                  Vor Anfragen im Forum HTML validieren.
                  Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

                  Vielen Dank an alle Wunschlistenerfüller
                  Andreas Burg, Web Solutions

                  Kommentar

                  Lädt...