Ergebnis 1 bis 9 von 9

Thema: Events um Textfeld erweitern

  1. #1
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    485

    Standard Events um Textfeld erweitern

    Hallo zusammen,

    würde gerne Events um ein neues Datenfeld erweitern.

    Es soll ein reines Textfeld mit dem Name "Adresse" sein das unter dem Textfeld Veranstaltungsort erscheint.

    Eingegeben werden soll hier Straße, PLZ und ORT.

    Kann mir hier jemand weiterhelfen bzw. hat das schon jemand gemacht. Über ein Tutorial wäre ich dankbar (begrenzte PHP Kenntnisse).

    Gruß Marco

  2. #2
    Alter Contao-Hase
    Registriert seit
    20.03.2010.
    Ort
    Hannover
    Beiträge
    1.041

    Fehler

    Etwas ähnliches werde ich ebenfalls für ein aktuelles Projekt umsetzen.

    Beispielhalt sollte folgendes Tutorial am ehesten an die von Dir gewünschte Erklärung kommen:

    Contao Konferenz 2015 - CONTAO ERWEITERN OHNE TIEFE PROGRAMMIERKENNTNISSE

    Du müßtest nun nur noch das Vorgehen auf Deinen Anwerdungsfall übertragen.

  3. #3
    Contao-Nutzer
    Registriert seit
    20.11.2013.
    Beiträge
    202

    Standard

    schau mal hier und hier

    viele grüße
    hippo

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

  5. #5
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    485

    Standard

    Habe es mit Anleitung von Samuell versucht.

    Bin schon für meine Verhältnisse recht weit gekommen.

    Jedenfalls wird mir der Veranstaltungsort jetzt doppelt angezeigt.

    Aber irgendwie holt er sich die Übersetzung nicht aus der langconfig.

    Hat jemand einen Tipp hierfür?

    Grüße Marco

    Bildschirmfoto 2015-09-25 um 19.22.48.png

    dcaconfig.php
    PHP-Code:
    <?php

    // Put your custom configuration here

    // Anpassung der Palette
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace
    (
        
    'details_legend',
        
    'adresse,location,teaser',
        

        
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']
    );

      
    // Hinzufügen der Feld-Konfiguration

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['adresse'] = array
    (
        
    'label'     => &$GLOBALS['TL_LANG']['tl_calendar_events']['adresse'],
        
    'exclude'   => true,
        
    'inputType' => 'text',
        
    'eval'      => array('maxlength'=>64'tl_class'=>'w50''feGroup'=>'details_legend'),
        
    'sql'       => "varchar(64) NOT NULL default ''"
    );
    langconfig.php
    PHP-Code:
    <?php

    // Put your custom configuration here

    $GLOBALS['TL_LANG']['tl_calendar_events']['adresse'] = array("Adresse""Strasse, PLZ und Ort");
    Geändert von marcohe (25.09.2015 um 20:23 Uhr)

  6. #6
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    485

    Standard

    So habe es hinbekommen. Das Ergebnis ist soweit zufriedenstellend

    Danke für die Hilfe. In Anlage noch der aktuelle Stand...

    dcaconfig

    PHP-Code:
    // EVENT ADRESSE, ORT, PLZ >> Anpassung der Palette 
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace 

        
    'location,teaser','location,ort,plz,adresse,teaser'
         

        
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'
    ); 

       
    // EVENT ADRESSE, ORT, PLZ >> Feld-Konfiguration 

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['adresse'] = array 

        
    'label'     => &$GLOBALS['TL_LANG']['tl_calendar_events']['adresse'],  
        
    'inputType' => 'text'
        
    'eval'      => array('mandatory'=>'true''maxlength'=>64'tl_class'=>'w50''feGroup'=>'details_legend'), 
        
    'sql'       => "varchar(64) NOT NULL default ''" 
    );

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['ort'] = array 

        
    'label'     => &$GLOBALS['TL_LANG']['tl_calendar_events']['ort'],  
        
    'inputType' => 'text'
        
    'eval'      => array('mandatory'=>'true''maxlength'=>20'tl_class'=>'w50''feGroup'=>'details_legend'), 
        
    'sql'       => "varchar(64) NOT NULL default ''" 
    );

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['plz'] = array 

        
    'label'     => &$GLOBALS['TL_LANG']['tl_calendar_events']['plz'],  
        
    'inputType' => 'text'
        
    'eval'      => array('mandatory'=>'true''maxlength'=>5'tl_class'=>'w50''feGroup'=>'details_legend'), 
        
    'sql'       => "varchar(64) NOT NULL default ''" 
    ); 
    langconfig

    PHP-Code:
    $GLOBALS['TL_LANG']['tl_calendar_events']['adresse'] = array("Adresse""Sraße und Hausnummer");
    $GLOBALS['TL_LANG']['tl_calendar_events']['plz'] = array("Postleitzahl""Gültige Postleitzahl eingeben");
    $GLOBALS['TL_LANG']['tl_calendar_events']['ort'] = array("Stadt""Name Stadt / Ort der Veranstaltung");
    $GLOBALS['TL_LANG']['tl_calendar_events']['location'] = array("Location""Name Event-Location"); 
    template

    PHP-Code:
    <div class="event layout_upcoming_rich<?php echo $this->classUpcoming?>">

        <div itemscope itemtype="http://schema.org/Event">

            <a itemprop="url" href="<?php echo $this->href?>"title="<?php echo $this->title?> (<?php if ($this->day): echo $this->day?><?php endif; echo               $this->date; if ($this->time): ?><?php echo $this->time; endif;?>)">
            <div itemprop="name"><?php echo $this->title?></div>
            </a>

        <div class="date"><meta itemprop="startDate" content="<?php echo date("Y-m-d"$this->begin);  ?>"><?php echo $this->date?> <?php if ($this->time): ?>
        <span class="time">(<?php echo $this->time?> Uhr)</span><?php endif; ?>
        </div>
      

        <div class="location" itemprop="location" itemscope itemtype="http://schema.org/Place">
        
        <b><span itemprop="name"><?php echo $this->location?></span></b>
        <div class="address" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
          <span itemprop="streetAddress"><?php echo $this->adresse?></span>,
          <span itemprop="postalCode"><?php echo $this->plz?></span>
          <span itemprop="addressLocality"><?php echo $this->ort?></span>
         </div>
      
        </div>

        </div>
    </div>
    Geändert von marcohe (26.09.2015 um 15:41 Uhr)

  7. #7
    Contao-Nutzer Avatar von pgrob
    Registriert seit
    10.07.2009.
    Ort
    Schweiz
    Beiträge
    205
    Partner-ID
    10267

    Standard

    Hallo Miteinander

    Habe das gleich Problem, mir werden die Felder doppelt angezeigt. Ich Kann aber kein unterschied zur konfiguration von Marco erkennen.

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('title,','title,kategorien,'$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('title,','title,tagsfilter,'$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);

        
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['kategorien'] = array
    (
        
    'label'             => &$GLOBALS['TL_LANG']['tl_calendar_events']['kategorien'],
        
    'exclude'           => false,
        
    'inputType'         => 'text',
        
    'eval'              => array('maxlength'=>255'tl_class'=>'w50'),
        
    'sql'               => "varchar(255) NOT NULL default ''"
    );

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['tagsfilter'] = array
    (
        
    'label'             => &$GLOBALS['TL_LANG']['tl_calendar_events']['tagsfilter'],
        
    'exclude'           => false,
        
    'inputType'         => 'text',
        
    'eval'              => array('maxlength'=>255'tl_class'=>'w50'),
        
    'sql'               => "varchar(255) NOT NULL default ''"
    ); 
    Geändert von pgrob (27.02.2017 um 18:16 Uhr)

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Die dcaconfig.php wird potentiell öfter aufgerufen. Da dein str_replace einfach nur 'title,' ersetzt, welches auch nach dem ersetzen wieder vorhanden ist, wird auch mehrmals ersetzt, wenn die dcaconfig.php mehrmals aufgerufen wird.

  9. #9
    Contao-Nutzer Avatar von pgrob
    Registriert seit
    10.07.2009.
    Ort
    Schweiz
    Beiträge
    205
    Partner-ID
    10267

    Standard

    Ah, jetzt hab ich es gesehen. Danke für den Denkanstoss!

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
  •