CMS Made Simple

CMS Made Simple

Eigentlich, so meine naive Annahme, sollte das Update eines Moduls unter CMS Made Simple kurz und schmerzlos getan sein. Es sein denn, man kommt auf die Idee sein System länger nicht zu warten und/oder diverse Releases zu überspringen. In meinem Fall bedeutete dies von einer Version des Uploads Modul < 1.7 auf die aktuelle 1.9.1 zu updaten. Im folgenden ein paar Hinweise wie man sich manche Stunde des Suchens, Changelog-/Releasenotes- und Forumlesens erspart.

Hinweis: Die im Artikel ursprünglich besprochene Version des Uploads Moduls wurde überarbeitet. Die aktuelle Version ist 1.10.3. Entsprechende Vermerke wurden im Text angefügt.

  1. Uploads Modul 1.9.1 und CGExtensions
    Wer von einer Version älter als 1.7 updatet wird schnell merken, dass etwas nicht stimmt. Wenn in großen Lettern vor einem Fehlen des CGExtensions gewarnt wird, sollte man dies schnell nachinstallieren. Zum Uploads-Modul gehören also zwei Dateien, die am einfachsten über die XML-Schnittstelle im Admin-Backend installiert werden. Die aktuelle CGExtensions Version ist 1.17.2 (Nachtrag : Aktuelle Version 1.17.3)
  2. Templates
    Beim Update werden die default-Templates für Summary und Detail nicht aktualisiert. Im Code hat sich dennoch einigs verändert und auch Tags haben sich verändert. Hier hilft nur ein manueller Eingriff und das Auslesen von orig_NAME_template.tpl und händisches Einbinden in die Default-Templates. Die Originaldateien findet man im Ordner …\cmsmadesimple\modules\uploads\templates
    Übrigens: Hilfreiche Tags zum Debuggen sind bei der Gelegenheit {$entry|print_r} (wahlweise in pre-Tags gesetzt) und {get_template_vars} zur Ansicht aller vergebener Variablen und Inhalte
  3. Filter-Funktion
    Wer im Modul-Call der Seite den Tag filter="" benutzt, wird u.a. seine Seite als Design-Skelett ohne Styling wiederfinden. Da das Modul aktuell überarbeitet wird und zur Zeit mehrmals (am Tag) neue Versionen eingestellt werden ist es nur eine Frage der Zeit bis sich hier eine Lösung findet. Im Forum wusste man dazu bislang nichts. Nachtrag: Mit den letzten Versionen 1.10.x hat sich das Problem gelöst. Die Befehle filter="" als auch no_initital="1" funktionieren wieder.
  4. Custom Fields
    Ein Kapitel für sich ist die Verwendung von Custom Fields. Ist das Einrichten selbst noch problemlos, wird spätestens bei der Verwendung der hinterlegten Variablen die Bedeutung der Vergabe-Reihenfolge interessant. Standardverwendung der Custom Fields laut Default-Template ist über eine Schleife, d.h.

    {foreach name=fields from=$entry->fields key='fldname' item='field'}
    {$field.name}
    {$field.value}
    {/foreach}

    Im Original ist das ganze in einer Tabelle hinterlegt.
    Da hier keine direkte Einzelansprache der Fields erfolgt, sondern lediglich die bei der Vergabe erfolgte Reihenfolge abgearbeitet wird ist die Gestaltung der Frontendausgabe zunächst eingeschränkt. Es besteht lediglich die Möglichkeit auf die Sortierung der Custom Fields Einfluss zu nehmen, also welches im Schleifendurchlauf wann aufgerufen wird. Ich habe daher versucht die Custom Fields zunächst als Einzelausgabe mit {$entry->fields.NAME->value} aufzurufen, wie es in anderen Modulen des Autors möglich ist – bislang jedoch leider erfolglos. Ggf. ändert sich das in späteren Versionen nochmal.

    Besonderheit: Werden keine Daten bei den Custom Tags hinterlegt, wird die Schleife beim Aufruf im Frontend ignoriert. Hinterlegt man jedoch bei einer hochgeladenen Datei erstmalig Daten in den Custom Fields, werden Sie durch die oben genannte Schleife abgerufen und eingebunden. Löscht man die hinterlegten Daten später jedoch wieder, werden die Name-Tags weiter angezeigt, allerdings das Value-Feld entsprechend nicht befüllt – statt die leeren Fields zu überspringen. Hier dürfte eine If-then-else-Schleife notwendig werden.

Was bleibt, ist die Frage: Wie bringt man dem Filter bei auch Custom Fields einzubeziehen? Bislang werden diese bei der Ausgabe schlicht ignoriert.

Nachtrag: Alles in Allem macht das Uploads-Modul seit der 1.10.x Version wieder alles was es soll. Zum Testen einer direkten Ansprache der Custom Fields bin ich bislang leider noch nicht gekommen, wird aber bald möglichst nachgeholt.