cms_teaser Kategorie anzeigen

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
peanut
Beiträge: 246
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

cms_teaser Kategorie anzeigen

Beitrag von peanut » So 26. Nov 2017, 12:27

Hallo zusammen

Ich bräuchte eine kleine Hilfe im Bezug auf das standard Modul cms_teaser. Die Frage die ich mir gerade stelle ist wie kann man die Kategorie des Artikels / der Artikel automatisch mitanzeigen ? Also nachdem man die Artikel der entsprechenden Kategorie ausgesucht hat. Da man ja nur eine Kategorie auswählen kann sollte das ja theoretisch möglich sein ? Evtl. einfach {Categorie} ins HTML Template ? hmmm ...

Vielen Dank im voraus für einen kleinen Tipp.
Contenido 4.9
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: cms_teaser Kategorie anzeigen

Beitrag von Faar » Mo 27. Nov 2017, 09:04

Das geht meines Wissens mit diesem Modul nicht.
Aber ich würde mal das Sitemap-HTML-Modul mal genauer ansehen, das scheints nicht nur Kategorien anzeigen lassen kann, sondern auch Artikel.
Das wäre vielleicht ein Weg von der anderen Richtung her.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: cms_teaser Kategorie anzeigen

Beitrag von rethus » Mo 27. Nov 2017, 13:29

Schau dir die Funktion "_fillTeaserTemplateEntry" in der Datei contenido/classes/content_types/class.content.type.teaser.php an und halte dort ausschau nach "$template->set". Dort findest du die Platzhalter die verfügbar sind.
Natürlich kannst du nun hier die Teaser-Funktion nach belieben aufbohren und z.B. um eine von dir gewünschte Funktion ersetzen, welche die aktuelle Kategorie ausliest, und diese dann als weiteren Patlzhalter dort in das Ausgabe-Modul ausgibt.

Bei mir in 4.9.4 (das ich gerade offen habe) ist es so ab Zeile 440:

Code: Alles auswählen

if(empty($title) && !empty($this->_settings['teaser_title'])) $title=$this->_settings['teaser_title'];  // <-- hinzugefügt
            $template->set('d', 'TITLE', $title);
            $template->set('d', 'TEXT', $text);

            $template->set('d', 'IDART', $idArt);
            $template->set('d', 'ART_URL', 'front_content.php?idart=' . $idArt);
            $template->set('d', 'PUBLISHED', $published);
            $template->set('d', 'PUBLISHED_MANUAL', $date);

            if ($date != '') {
                $template->set('d', 'PUBLISHED_COMBINED', $date);
            } else {
                $template->set('d', 'PUBLISHED_COMBINED', $published);
            }
            foreach (self::$_translations as $translationString) {
                $template->set('d', $translationString, mi18n($translationString));
            }

            if ($this->iteration == 0) {
                $template->set('d', 'ACTIVE', 'active');
            } else {
                $template->set('d', 'ACTIVE', '');
            }
Die Templates für den Teaser findest du unter /cms/templates/cms_teaser_xxx.html, wo du dann natürlich deinen neuen Platzhalter in entsprechendes Modul mit einpflegen solltest.

Ich hab z..B. den Teaser dort schon ein paar mal für eigene Zwecke erweitert (download-teaser, video-teaser, html-snippet usw.). Läuft solide.

Nachteil ist, das es eine Anpassung im Core-Code ist, und du nach einem Upgrade daran denken musst, diese Anpassungen manuell zu übernehmen bzw. zu migrieren.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: cms_teaser Kategorie anzeigen

Beitrag von Oldperl » Mo 27. Nov 2017, 21:27

Servus,
rethus hat geschrieben:
Mo 27. Nov 2017, 13:29
Nachteil ist, das es eine Anpassung im Core-Code ist, und du nach einem Upgrade daran denken musst, diese Anpassungen manuell zu übernehmen bzw. zu migrieren.
Ja genau, Quick&Dirty mal schnell in den Core-Code eingebaut. Am Besten noch ohne irgendeine Dokumentation. Das freut den Kollegen der dann irgendwann mal die Seiten übernimmt, ein Update/Upgrade machen soll und danach dann auf die Suche geht um die vom Kunden bemängelten Fehler - "das war aber vorher anders" - zu beheben. :motz:
Kann gar nicht sagen wie viele Stunden ich inzwischen bei solchen Aktionen verschwendet habe. :roll:

Also, Frank (Faar) hat Recht, dass es mit dem Standard-Modul nicht geht. Von Änderungen am Core rate ich ab, außer es ist die eigene Seite.
Alternativ dazu würde ich ein Modul schreiben, in welchem die CMS-TEASER Klasse direkt Instantiiert wird. So kommt man dann auch an alle Klassen-Internas, einschließlich der Konfiguration, und kann diese entsprechend Auswerten und über die Kategorie-Klassen auch Infos zur Kategorie holen.
Leitet man eine eigene Klasse ab, so kann man auch Methoden, wie beispielsweise die mit der Template-Generierung, überschreiben und noch eigene zusätzliche Manipulationen einbauen.
Das ist, alles in allem, sicherlich aufwendiger, aber damit hat man dann eine Update-sichere Lösung.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Antworten