Contao Konferenz & College 2019 in Duisburg - JETZT TICKET SICHERN!
Ergebnis 1 bis 10 von 10

Thema: Bildname in den Titel kopieren

  1. #1
    Contao-Fan Avatar von Zille
    Registriert seit
    22.12.2015.
    Beiträge
    330

    Standard Bildname in den Titel kopieren

    Moin,
    öfters muss ich Galerien anlegen, bei denen Bildnamen und Titel gleich sein sollen. Das ist wichtig, damit Kunden die richtige Bilder bestellen können. So weit, so langweilig.
    Aber richtig langweilig wird es, wenn die Galerie mehr als 100 Bilder umfasst, wie es bei Hochzeiten üblich ist. Da jeweils den Namen zu kopieren und im Titel einfügen … och nö.
    Gibt es dafür ein Tool, das die Arbeit vereinfachen könnte?!
    Wenn ich zufasse ist es schlimmer, als wenn zwei loslassen.

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

    Standard

    Das sollte sich doch durch eine Anpassung am Template machen lassen, das bei der Ausgabe verwendet wird: Dort, wo der Titel ausgegeben wird, den Dateineman (Bildnamen?) ausgeben lassen.
    Stammtisch Contao Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Fan Avatar von Zille
    Registriert seit
    22.12.2015.
    Beiträge
    330

    Standard

    Na ja, jetzt wo du es schreibst …
    Danke, schaue ich mir an.
    Wenn ich zufasse ist es schlimmer, als wenn zwei loslassen.

  4. #4
    Contao-Fan Avatar von Zille
    Registriert seit
    22.12.2015.
    Beiträge
    330

    Standard

    Es ist – auf Grund meiner PHP-UNkenntniss – dann doch nicht so einfach …

    Mir scheint, man muss als erstes im Template 'gallery_default' ein angepasstes Template 'picture_default' aufrufen.
    Die Anpassung vom 'picture_default' selbst erfolgt dann in Zeile 11 bei dem Teil von
    PHP-Code:
    <?php if ($this->title) echo ' title="' $this->title '"'?>
    richtig? Aber was muss dort eingetragen werden? Es soll IMMER der Bildname an Stelle des Titels angezeigt werden (also auch dann, wenn das Feld von Titel leer ist).

    Kann mir bitte an dieser Stelle jemand den richtigen PHP-Code verraten?
    Danke.
    Wenn ich zufasse ist es schlimmer, als wenn zwei loslassen.

  5. #5
    Contao-Nutzer Avatar von JMMB
    Registriert seit
    08.03.2012.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Hallo,

    im Template picture_default gibt es keine Variable die nur den Bildnamen enthält.

    Im Template gallery_dafault hingegen schon. Da muss dann aber der Teil

    PHP-Code:
    ?php $this->insert('picture_default'$col->picture); ?> 
    ersetzt werden.

    Du kannst das Picture selber generieren, das käme dann an die Stelle:

    PHP-Code:
        <?php 
                  $image_path 
    $col->src
                  
    $image = \Picture::create($image_path6)->getTemplateData();
                  
    $image['title'] = $col->linkTitle;
                  
    $this->insert('picture_default'$image); 
                  
    ?>
    Die "6" steht hier für die ID einer im Backend definierten Bildgröße, damit kannst Du dann auch die Boardmittel nutzen um Bildgrößen zu definieren.
    Den Image Title überschreibst Du dann mit dem linkTitle, der enthält den Dateinamen.

    So habe ich es in einer 4.4 er Version.

    Ob es der optimale Weg ist weiß ich nicht, funktioniert aber.


    Hoffe es hilft weiter.

  6. #6
    Contao-Fan Avatar von Zille
    Registriert seit
    22.12.2015.
    Beiträge
    330

    Standard

    Besten Dank für den Vorschlag – aber da funktioniert nix (es ändert sich gar nichts).
    Bei mir ist es Version 4.7.6

    Ich habe das Template gallery_dafault kopiert, umbenannt und dann die Veränderung eingesetzt.
    PHP-Code:
    <ul class="cols_<?= $this->perRow ?>" itemscope itemtype="http://schema.org/ImageGallery">
      <?php foreach ($this->body as $class=>$row): ?>
        <?php foreach ($row as $col): ?>
          <?php if ($col->addImage): ?>
            <li class="<?= $class ?> <?= $col->class ?>">
              <figure class="image_container"<?php if ($col->margin): ?> style="<?= $col->margin ?>"<?php endif; ?>>
                <?php if ($col->href): ?>
                  <a href="<?= $col->href ?>"<?= $col->attributes ?><?php if ($col->linkTitle) echo ' title="' $col->linkTitle '"'?>><?php $this->insert('picture_default'$col->picture); ?></a>
                <?php else: ?>
                  <?php 
                    $image_path 
    $col->src
                    
    $image = \Picture::create($image_path6)->getTemplateData();
                    
    $image['title'] = $col->linkTitle;
                    
    $this->insert('picture_default'$image); 
                  
    ?>
                <?php endif; ?>
                <?php if ($col->caption): ?>
                  <figcaption class="caption"><?= $col->caption ?></figcaption>
                <?php endif; ?>
              </figure>
            </li>
          <?php endif; ?>
        <?php endforeach; ?>
      <?php endforeach; ?>
    </ul>
    Danach habe ich in der gewünschten Gallery unter Template-Einstellungen/Galerietemplate das soeben geänderte Template ausgewählt und gespeichert. Auch nach Systemwartung (um Chach zu leeren) gibt es keinerlei Veränderung. Hm.

    Ebenso verstehe ich nicht im geringsten, weshalb ich die Bildgröße ändern soll oder könnte. Funktioniert der vorgeschlagene Weg eventuell nicht, weil ich dafür keine extra Bildgröße definiert habe?! Diese Zusatzfunktion verwirrt … ich möchte nur, dass der Dateiname an der Stelle des Titels erscheint.
    Wenn ich zufasse ist es schlimmer, als wenn zwei loslassen.

  7. #7
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Ort
    Dortmund
    Beiträge
    1.730

    Standard

    JMMB hatte geschrieben
    Zitat Zitat von JMMB Beitrag anzeigen
    Da muss dann aber der Teil

    PHP-Code:
    ?php $this->insert('picture_default'$col->picture); ?> 
    ersetzt werden.
    Da du den neuen Code in ein else geschrieben hast, wird er wohl nicht ausgeführt.
    www.folkfreun.de - Treffpunkt für Folkmusiker, Folktänzer, Veranstalter und alle Freunde von trad. Folkmusik

  8. #8
    Contao-Fan Avatar von Zille
    Registriert seit
    22.12.2015.
    Beiträge
    330

    Standard

    Aha.
    Und? Wie ist es richtig?
    Wenn ich zufasse ist es schlimmer, als wenn zwei loslassen.

  9. #9
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Ort
    Dortmund
    Beiträge
    1.730

    Standard

    Wie kann man das besser beschreiben?

    Du ersetzt in der langen Zeile den Teil
    <?php $this->insert('picture_default', $col->picture); ?>
    durch den von JMMB angegebenen Code...
    www.folkfreun.de - Treffpunkt für Folkmusiker, Folktänzer, Veranstalter und alle Freunde von trad. Folkmusik

  10. #10
    Contao-Fan Avatar von Zille
    Registriert seit
    22.12.2015.
    Beiträge
    330

    Standard

    Zitat Zitat von folkfreund Beitrag anzeigen
    Wie kann man das besser beschreiben?

    Du ersetzt in der langen Zeile den Teil …
    Ahja, also in der längeren Zeile … das war nicht ersichtlich. Es lag vielmehr nahe den Code der anderen Zeile zu ändern, da dort eben auch der selbige und nichts anderes steht. Wie auch immer, ich habe es getan, und tatsächlich bewegt sich etwas.

    • Die Thumbnails werden ungewollt größer (ok, da müsste ich also eine neue Größe definieren),
    • der Cursor blinkt an der Stelle, wo der Dateiname erscheinen soll,
    • der Dateiname erscheint allerdings nicht.

    Hm, irgendwo klemmt es also noch, aber der Anfang erscheint erfolgsversprechend …
    Wenn ich zufasse ist es schlimmer, als wenn zwei loslassen.

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
  •