Ergebnis 1 bis 5 von 5

Thema: Autorennamen beschränken

  1. #1
    Contao-Nutzer
    Registriert seit
    10.03.2011.
    Beiträge
    176

    Standard Autorennamen beschränken

    Es gibt rund 15 Subdomains in unserer Website mit derzeit rund 100 Benutzern, die Artikel und Nachrichtenbeiträge verfassen dürfen. Ich würde gerne ausschließen, dass der Redakteur der Subdomain A die Autoren der Subdomain B im Auswahlfeld "Autor" sieht, wenn ein neuer Nachrichtenbeitrag verfasst wird. Ich kann in der Benutzerverwaltung das Feld "Autor" deaktivieren, aber das hätte zur Folge, dass kein Autorenname mehr angegeben wird, was nicht wünschenswert ist. Gibt es da eine Lösung?

    Viele Grüße
    Leolux

  2. #2
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    Gibt es denn eine Möglichkeit, zwischen Autoren der Domain A und B zu unterscheiden, bzw. die Domainzuordnung eines Autors an irgend etwas eindeutig zu identifizieren? Ich denke nämlich, mit ein paar Zeilen Code liesse sich da etwas machen.
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  3. #3
    Contao-Nutzer
    Registriert seit
    10.03.2011.
    Beiträge
    176

    Standard

    Zitat Zitat von webster Beitrag anzeigen
    Gibt es denn eine Möglichkeit, zwischen Autoren der Domain A und B zu unterscheiden, bzw. die Domainzuordnung eines Autors an irgend etwas eindeutig zu identifizieren? Ich denke nämlich, mit ein paar Zeilen Code liesse sich da etwas machen.
    Die Domainzuordnung könnte über die Gruppenzuordnung hergestellt werden. Die Benutzergruppen der Domain A wären dann "Domain A - Administrator" und "Domain A - Redakteur". Ich habe es zunächst so gelöst, dass ich das Autorenfeld in der Benutzerverwaltung deaktiviert habe und der Autor im TinyMCE eingetragen wird. Deine Lösung hört sich vielversprechend an. Wie ließe sich das denn realisieren?

    Viele Grüße
    Leolux

  4. #4
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    Hallo Leolux,

    folgende Lösung hätte ich dafür anzubieten:

    Erzeuge im Ordner system/modules/ ein neues Verzeichnis mit Namen news_extended. Darin legst Du dann ein weiteres Verzeichnis dca an. Hier gehört dann diese Datei hin:

    tl_news.php

    PHP-Code:
    <?php
    $this
    ->import('BackendUser''user');
    // Benutzernamen für die Benutzer die von dieser Regelung ausgenommen werden sollen
    $superadmins = array('superadmin''admin-a''admin-b');
    // neue Optionen für das Feld Autor
    // wenn diese Regelung nur für nicht-Admins gelten soll, so nutze die folgende Zeile
    // if (!$this->user->isAdmin)
    // ansonsten greift die Regel für alle nicht-Superadmins (s.o.)
    if (!in_array($this->user->username$superadmins))
    {
        unset(
    $GLOBALS['TL_DCA']['tl_news']['fields']['author']['foreignKey']);
        
    $GLOBALS['TL_DCA']['tl_news']['fields']['author']['options_callback'] = array('tl_news_extended''getLimitedAuthors');
    }

    class 
    tl_news_extended extends tl_news
    {
        public function 
    getLimitedAuthors()
        {
            
    $arrOptions = array();
            
    $this->import('BackendUser''user');
            
    $objUser $this->Database->execute("SELECT id, name, groups FROM tl_user");
            while(
    $objUser->next())
            {
                foreach (
    $this->user->groups as $intGroup)
                {
                    if (
    $arrGroups unserialize($objUser->groups))
                    {
                        if (
    in_array($intGroup$arrGroups))
                            
    $arrOptions[$objUser->id] = $objUser->name;
                    }
                }
            }
            return 
    $arrOptions;
        }
    }
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  5. #5
    Contao-Nutzer
    Registriert seit
    10.03.2011.
    Beiträge
    176

    Standard

    Hallo Webster,

    heute Morgen habe ich das ausprobiert und bin sehr beeindruckt.
    Es funktioniert 1a!
    Vielen Dank für die Mühe und die Zeit, die du geopfert hast.

    Leolux

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •