Ergebnis 1 bis 15 von 15

Thema: Felder abhängig vom Elementtyp befüllen

  1. #1
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard Felder abhängig vom Elementtyp befüllen

    HI

    Ich will jedem Inhaltselement vom Typ „Galerie“ eine CSS-Klasse verpassen. Dazu befülle ich das zweite Feld bei „CSS-ID und Klasse“ im Backend mit der Klasse. Also dachte ich, ich baue in der dcaconfig.php eine if-Abfrage außenherum. Die eigentliche Zeile zum Feld befüllen tut, was nicht tut, ist die Abfrage des Elementtyps. Ich habe einfach mal doof ausprobiert:

    PHP-Code:
    if ($GLOBALS['TL_DCA']['tl_content']['fields']['type']['value'] == 'gallery') {
     
    // Feld „CSS-Klasse“ befüllen

    So tut es nicht. Wie kann ich denn den Typ des Inhaltselements herausfinden?
    Oder soll ich das im Template machen? Vielen Dank im Vorraus!

    Sebastian
    Geändert von Sebastian (23.12.2009 um 17:47 Uhr)
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  2. #2
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Irgendwie verstehe ich deinen Wunsch nicht wirklich. AUch nach mehrmaligem Lesen nicht.

    Kannst du es am Beispiel erklaeren, wann du was haben moechtest ?
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  3. #3
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.470
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich lese das so dass Sebastian in der dcaconfig für alle Galerie-Inhaltselemente die CSS Klasse eintragen will und somit nicht jeder Galerie dies im Backend einzeln vergeben will.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  4. #4
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Ich glaube planepix hat recht. Ich verstehe das ganze auch so, wäre auch für mich zu gebrauchen

    @lindesbs
    zB. Wenn der Redakteur ein neues Element anlegt (in diesem Fall Gallery) dann wird automatisch (per dcaconf.php) eine CSS Klasse vergeben. Wird aber ein anderes Element angelegt (zB Text) bleibt das Feld CSS Klasse leer
    So versteh ich das ganze zumindest.

  5. #5
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    genau das möchte ich.

    Da bin ich darauf gekommen, das im Template einzutragen (deren es vier für Galerien gibt), aber ich möchte die Klasse eigentlich möglichst flexibel halten, also dem Redakteur und mir die Möglichkeit geben, die Klasse pro Galerie zu ändern, zu entfernen oder weitere zu ergänzen. Da dachte ich an die dcaconfig.php, aber wie man dort den Elementtyp abfragen kann ist mir nicht klar.

    Danke für's Lesen und Verstehen!

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  6. #6
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Was haelst Du von einer SelectBox mit vordefinierten Feldern ?
    Das ginge relativ einfach ueber die dcaconfig.


    Deine Methode mittels if wird so nicht funktionieren.
    Aber mittels eigenem Modul koennte man sich an den Hook save_callback der Methode haengen, und die Felder entsprechenden anpassen.
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  7. #7
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Irgendwie versteh ich den Wunsch noch nicht.
    Jede Galerie ist doch von einer Klasse umgeben die immer gleich ist und von TL vergeben wird...
    Damit kann man auf CSS-Seite doch schon wunderbar arbeiten.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  8. #8
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    @MacKP: Jaaa. Aber diese spezielle Klasse bewirkt ein Abschneiden der Bilder, sodass nur ein Bild angezeigt wird (feste Dimensionen und overflow:hidden), und soll zwar im Regelfall, aber nicht immer, verwendet werden. Und deshalb will ich sie im Feld stehen haben, sodass der Redakteur sie bei Bedarf entfernen kann.

    @Stefan: Wie geht das konkret? Kannst du mir da einen Tipp geben?

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  9. #9
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    in der dcaConfig den callback von onload triggern

    PHP-Code:
     $GLOBALS['TL_DCA']['tl_content']['config']['onload_callback'][] = array('ceGaleryChanger','onLoadCallBack'); 
    Danach in system/modules ein neues Verzeichnis erstellen mit dem Namen ceGaleryChanger
    Dort drinne auch eine Datei erstellen, mit Namen ceGaleryChanger.php mit folgendem Inhalt

    PHP-Code:
     <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');

    class 
    ceGaleryChanger extends Backend
    {
        public function 
    __construct()
        {
            
    parent::__construct();
            
    $this->import('BackendUser''User');
        }
        
        function 
    onLoadCallBack($dcTable)
        {
            
    $elementType $this->Database->prepare("SELECT type FROM tl_content WHERE id=?")
                            ->
    execute($this->Input->get('id'));
                            
            if ((
    $elementType->numRows==1) && ($elementType->type=="gallery"))
            {
                
    $GLOBALS['TL_DCA']['tl_content']['fields']['cssID']['default'] = 'defaultCSS';
                
    $GLOBALS['TL_DCA']['tl_content']['fields']['cssID']['inputType'] = 'select';
                
    $GLOBALS['TL_DCA']['tl_content']['fields']['cssID']['options'] = array('css1','css2','css3');
                unset(
    $GLOBALS['TL_DCA']['tl_content']['fields']['cssID']['eval']['size']);
            }
        }
    }
    ?>
    Das eigentlich interessante passiert in der Funtion onLoadCallBack.

    Du musst evt. ein eigenes EingabeWidget machen, da das Feld cssID normalerweise ein serialisiertes Array ist, und mit zwei Daten befuellt.
    EIn eigenes Widget, welches einfach zwei DropDown Boxen anbietet, mit dem jeweiligen Text fuer die CSS Klasse / ID und das dann als inputType setzen.
    Fertig.
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  10. #10
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    Ui, ein eigenes Modul. Danke für die Starthilfe, aber heute Abend packe ich das nicht mehr. Vielleicht reicht es ja zwischen den Jahren. Wenn ich dich also richtig verstehe, geht das nicht rein in der dcaconfig.php?

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  11. #11
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Nicht wirklich
    Aber das koennen wir spaeter mal besprechen. Schrieb mich an, wenn du soweit bist.
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  12. #12
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    gerne, danke für deine Hilfe!

    Ein frohes Fest!

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  13. #13
    Contao-Nutzer
    Registriert seit
    02.09.2009.
    Beiträge
    30

    Standard

    Mit den Default-Werten, die dynamisch generiert werden, gibt es Probleme:
    https://community.contao.org/de/showthread.php?p=36872

  14. #14
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    und was hat das hiermit zu tun? Übrigens habe ich mich noch nicht drangesetzt

    Sebastian

  15. #15
    Contao-Nutzer
    Registriert seit
    02.09.2009.
    Beiträge
    30

    Standard

    hey sebastian,
    hast du den thread schon gelesen?

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. BE: Felder voneinander abhängig machen
    Von Echo im Forum Entwickler-Fragen
    Antworten: 6
    Letzter Beitrag: 22.01.2011, 21:26
  2. [boxes] Eine Content-Box abhängig von der Seite befüllen
    Von Chris87 im Forum Sonstige Erweiterungen
    Antworten: 0
    Letzter Beitrag: 13.01.2010, 15:53
  3. Zusätzliche Felder / neuer Elementtyp (wie "Text")
    Von Sandro im Forum Sonstiges zu Contao
    Antworten: 3
    Letzter Beitrag: 01.12.2009, 10:19

Lesezeichen

Lesezeichen

Berechtigungen

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