Ergebnis 1 bis 8 von 8

Thema: Combinedvalues Feld - Daten mit sprintf zusammenführen?

  1. #1
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    418

    Standard Combinedvalues Feld - Daten mit sprintf zusammenführen?

    Hallo,

    ich habe ein kleines Problem mit dem combinedvalues Feld.

    Das Feld wird aus zwei anderen Feldern generiert.
    Im Feld 1 ist zum Bsp. 2012 eingetragen.
    Im Feld 2 ist zum Bsp. 2014 eingetragen.

    Im combinedvalues Feld soll nun der gemeinsame Wert wie folgt aussehen „2012 – 2014“.

    Dies hatte ich bisher mit %s - %s realisiert. Jetzt habe ich das Problem, dass im Feld 2 auch mal kein Jahr steht.
    Nehme ich %s - %s bleibt der Bindestrich auch stehen, wenn im Feld zwei kein Wert ist.

    Gibt es hierfür eine andere Lösung, dass der Bindestrich nur dann gespeichert wird, wenn das Feld 2 auch einen Wert enthält?

    Vielen Dank
    Stefan

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    wenn Du anstelle des '-' ein weiteres %s verwendest, in etwa so:

    PHP-Code:
    $param1 2012;
    $param2 2014;

    sprintf(("%s%s%s"
      
    $param1,
      !empty(
    $param2) ? ' - ' '',
      
    $param2); 

  3. #3
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    418

    Standard

    Vielen Dank!

    Dass Problem ist bloß, dass bei der Anzeigeeinstellung nur eine Zeile möglich ist und wenn ich den Code in eine Zeile quetsche wird mir nichts mehr angezeigt bzw. gespeichert...

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Weil ich mit MetaModels nicht auskenne: was hattest Du denn ursprünglich für die "2012 - 2014" Anzeige eingegeben? Das sollte sich doch anpassen lassen.

    Edit: und mein Code oben kann nicht funktionieren, da ich eine Klammer zu viel hatte:

    PHP-Code:
    sprintf(("%s%s%s"
    muss natürlich

    PHP-Code:
    sprintf("%s%s%s"
    lauten.
    Geändert von fiedsch (04.10.2014 um 13:35 Uhr)

  5. #5
    Contao-Fan
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    418

    Standard

    Die Zahlen 2012 und 2014 kommen aus zwei verschiedenen Textfelder in einem Metamodel. Das 1. Feld nennt sich "datum_von" und das 2. Feld nennt sich "datum_bis". In beiden Feldern sind viertstellige Jahreszahlen hinterlegt.

    Bisher hatte ich es immer nur mit der Formatierung %s - %s versucht und so lief es ja sehr gut aber leider ist jetzt vermehrt das 2. Feld leer. Folge ist, dass der Bindestrich (-) trotzdem angezeigt wird.

    Die Zahlen 2012 und 2014 hatte ich zum besseren erklären genannt. Die Zahlen können vollkommen verschieden sein.

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von AgentK Beitrag anzeigen
    Bisher hatte ich es immer nur mit der Formatierung %s - %s versucht
    Gut, dann hast Du wohl nicht direkt Zugriff auf die Parameterwerte -- mein Ansatz ist davon ausgegangen. Von MetaModels habe ich keine Ahnung, kann also nichts weiter dazu sagen.

  7. #7
    Contao-Fan Avatar von Thraile
    Registriert seit
    17.12.2009.
    Ort
    Detmold
    Beiträge
    501
    Partner-ID
    6306

    Standard

    Mach doch ne Abfrage im Template und gib entweder nur "Feld 1" oder "Feld 1 - Feld 2" aus.

  8. #8
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Zitat Zitat von Thraile Beitrag anzeigen
    Mach doch ne Abfrage im Template
    Was @AgentK meint, ist sicherlich das Feld "Format" bei der Erstellung des MM-Attributs "Combined Value".
    Und da hat man nur den PHP-Befehl "sprintf" zur Verfügung (sozusagen ein Mini-Template).
    http://contao.klausgraf.fr/metamodel...t-defined.html
    Die Frage stellt sich jetzt, ob man das im Template "mm_attr_combinedvalues" anpassen kann...

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
  •