Ergebnis 1 bis 12 von 12

Thema: Dateien lassen sich nicht umbenennen

  1. #1
    Contao-Nutzer
    Registriert seit
    02.01.2012.
    Beiträge
    14

    Standard Dateien lassen sich nicht umbenennen

    Guten Tag,

    eine Kundin hat massenweise Bilddateien umbenannt, um einen Copyright-Hinweis im Dateinamen unterzubringen. Jetzt sehen die Dateinamen leider in etwa so aus:
    HTML-Code:
    © Designer - Fotolia.com.jpg
    resp. im Eingabefeld im Backend so:
    HTML-Code:
     Designer - Fotolia.com
    Über das Backend (Contao 3.0) lassen sich diese Dateinamen nicht mehr ändern. (Änderungen bei Meta-Angaben werden allerdings übernommen.)

    Hat jemand einen Tipp, wie man die Dateien umbenennen kann – ohne die Bildverlinkungen zu zerstören?

    LG

    Martin

  2. #2
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.300

    Standard

    Direkt in der DB (Tabelle tl_files) und per FTP. Aber nur wenn du dich da bissl auskennst

    VG
    Geändert von Kahmoon (12.06.2014 um 14:12 Uhr)

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.198
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich würde es mal per FTP oder Konsole probieren und danach die Dateiverwaltung synchronisieren, da sollte das umbenannte Bild dann eigentlich erkannt werden und die Zuordnung bliebe erhalten. Sicherheitshalber ein Backup vorher ziehen.

    Edit: Wenn das aufgrund des unzulässigen Dateinamens nicht mehr funktioneren sollte, dann musst du wohl tatsächlich auch in der DB direkt ändern.

  4. #4
    Contao-Nutzer
    Registriert seit
    02.01.2012.
    Beiträge
    14

    Standard

    Vielen Dank! Ich fürchte auch, das müsste mit ftp und sql gelöst werden ... da bin ich nicht genug Purist!

    Für die Website war es einfach wichtig, in einem Newstemplate an die Meta-Angaben des Bilds im Teaser ranzukommen. Da funktionierte dies
    PHP-Code:
    $objFile = \FilesModel::findByPath($this->src); 
    bei den komischen Dateinamen nicht.

    Aber dies hier
    PHP-Code:
    $objFile = \FilesModel::findByPath($this->singleSRC); 
    glücklicherweise schon.

    Ganz konsistent scheint Contao da beim Umgang mit Dateinamen nicht zu sein. Und noch schöner wäre es natürlich, wenn die Metaangaben von Haus aus ans Template übergeben würden und man sich diese weitere DB-Abfrage sparen könnte. Aber Hauptsache es funktioniert!

    LG

    Martin

  5. #5
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.300

    Standard

    Du brauchst die Metaangaben doch gar nicht auslesen. In der Dateiverwaltung kannst du ein Alt und ein Title Tag setzen. Das reicht für die Copyrightangabe. Das Alt Tag wird im Block <caption> unter dem Bild ausgegeben.

    VG

  6. #6
    Contao-Nutzer
    Registriert seit
    02.01.2012.
    Beiträge
    14

    Standard

    Hallo Kahmoon,
    In der Dateiverwaltung kannst du ein Alt und ein Title Tag setzen. Das reicht für die Copyrightangabe.
    Leider nicht, zumindest nicht beim ModuleNewsList. Ich habe es gerade noch mal, dann auch gleich mit einer 3.3.0 und ordentlichen Dateinamen, probiert. Die Metaangaben aus der Dateiverwaltung stehen dort bei den templateVars nicht zur Verfügung.

    LG

    Martin

  7. #7
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.300

    Standard

    Also normal haben Newslisten ebenfalls das Feld Caption. Ich hab das gerade mal in news_latest.html5 nachgeschaut und es ist da. Dieses Feld wird mit dem Wert aus der Dateiverwaltung (siehe Anhang) gefüllt wenn es nicht in der News gesetzt wurde.

    PHP-Code:
      <?php if ($this->addImage): ?>
        <figure class="image_container<?php echo $this->floatClass?>"<?php if ($this->margin): ?> style="<?php echo $this->margin?>"<?php endif; ?>>

          <?php if ($this->href): ?>
            <a href="<?php echo $this->href?>"<?php echo $this->attributes?> title="<?php echo $this->alt?>">
          <?php endif; ?>

          <img src="<?php echo $this->src?>"<?php echo $this->imgSize?> alt="<?php echo $this->alt?>">

          <?php if ($this->href): ?>
            </a>
          <?php endif; ?>

          <!-- Hier kommt die Bildunterschrift -->
          <?php if ($this->caption): ?>
            <figcaption class="caption" style="width:<?php echo $this->arrSize[0]; ?>px"><?php echo $this->caption?></figcaption>
          <?php endif; ?>

        </figure>
      <?php endif; ?>
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Kahmoon (12.06.2014 um 16:20 Uhr)

  8. #8
    Contao-Nutzer
    Registriert seit
    02.01.2012.
    Beiträge
    14

    Standard

    Ja, klar: $this->caption et alii stehen schon in den Templates, sind aber bei mir Leerstrings. Was ich in der Dateiverwaltung eintrage, wird einfach nicht berücksichtigt. (Die Angaben bei den News sind auch wirklich leer, da hat sich kein geschütztes Leerzeichen oder so eingeschlichen.)

    Hast du das mal im ModuleNewsList ausprobiert?

    LG
    Geändert von mgnd (12.06.2014 um 16:45 Uhr)

  9. #9
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.300

    Standard

    Ne, bei mir klappt das überall mit Captions. Du hast in der Dateiverwaltung alle Felder ausgefüllt? Titel und Bildunterschrift?

  10. #10
    Contao-Nutzer
    Registriert seit
    02.01.2012.
    Beiträge
    14

    Standard

    Ja, alles ausgefüllt, aber nichts findet seinen Weg ins news_template ...

    Hmm, aber wenn es bei dir klappt, dann muss wohl irgendwo in meiner Installation der Wurm drinstecken. Ach, sogar in mindestens zwei Installationen, eine davon sogar fast unangerührt. Komisch – da muss ich mich dann mal auf die Fehlersuche machen.

    LG

    Martin

  11. #11
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.300

    Standard

    Probier es doch mal in der Contao Demo.

  12. #12
    Contao-Nutzer
    Registriert seit
    02.01.2012.
    Beiträge
    14

    Standard

    In der Demo kann man es leider nicht ausprobieren – aber nach einem Blick in den Code bin ich sicher, dass es auch dort nicht funktioniert. In ModuleNews wird das Bild mit
    PHP-Code:
    $this->addImageToTemplate($objTemplate$arrArticle); 
    eingebunden.

    $arrArticle ist
    PHP-Code:
    $arrArticle $objArticle->row(); 
    also die Zeile aus tl_news. Für meinen Fall wäre es natürlich schön, wenn an dieser Stelle, und auch bei den Events, als Fallback die Meta-Angaben für die Datei genommen würden, also irgend so etwas:
    PHP-Code:
    $arrMeta $this->getMetaData($objModel->meta$objPage->language);
    foreach (
    $arrMeta as $key => $value)
    {
        
    $arrArticle[$key] = empty($arrArticle[$key]) 
                                ? 
    $value
                                
    $arrArticle[$key];

    Aber vielleicht ist das gar nicht immer sinnvoll und es ist ja auch ok, sich die fehlenden Sachen dann im Template abzuholen.

    LG

    Martin

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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