Seite 1 von 2

Eigenes Modul erstellen - ich blicks nicht

Verfasst: Mi 25. Jan 2006, 12:18
von womic2000
Hallo,

ich möchte gerne ein eigenes Modul erstellen. Ich kriegs trotz Anleitung oder beim abschauen von bestehenden Modulen nicht hin.

Vielleicht kann mir einer bei folgenden Problem helfen:

Das Modul soll Daten einer bestimmten Aktion sammeln. Als Beispiel sollen folgende Felder dienen: Benennung, Datum, Uhrzeit, Text.

Es gibt mehrere Aktionen, bei denen jeweils diese Daten gesammelt werden.

Ich habe es mir für die Eingabe so gedacht: Die Kategorie "Aktion 2006" erhält einen Startartikel, dieser soll alle enthaltene Artikel anzeigen.
Für jede Aktion wird ein neuer Artikel in der Kategorie "Aktion 2006" erzeugt.

Jede angezeigte Aktion wird im Startartikel in einer eigenen Tabelle, untereinander, nach dem Erstellungsdatum sortiert angezeigt.


Es hört sich ziemlich komplex an, ist aber eigentlich einfach. Gut, es sind eigentlich 2 Module, eins für die "Aktion", eins für die Übersichtsseite, die eigentlich ähnlich ist wie das Modul "Artikelblättern" oder so.


Es wäre toll, wenn mir jemand helfen könnte.

Gruß
Michael

Verfasst: Mi 25. Jan 2006, 15:52
von HerrB
Warum es zwei sein sollen, weiss ich gerade nicht. Aber ansonsten ist das einfach ein Artikellisten-Modul.

Sofern die Elemente (Benennung, Datum, Uhrzeit, Text) als einzelne CMS_-Felder realisiert sind, würde ich Dir meine Artikelliste Advanced empfehlen - damit sollte es gehen, Du musst nur die Ausgabe noch anpassen (siehe Module V4.6.x).

Gruß
HerrB

Verfasst: Mi 25. Jan 2006, 16:00
von womic2000
Hallo HerrB,

danke für deine Antwort. Ich werde mir das Modul heute Abend mal anschauen.

Ich denke 2 (Module), weil ich gerne bei der "Action" vordefinierte Eingabefelder haben möchte, damit der, wo die Daten eingeben muss, nur rein die Daten eingibt, und das Modul im Output die Tabelle selbständig aufbaut, wo dann angezeigt wird.

Gruß
Michael

Verfasst: Mi 25. Jan 2006, 16:06
von HerrB
Es kommt darauf an, was Du meinst. Wenn ein Redakteur einen neuen Artikel (in Contenido) erzeugt und die - laut Layout und Modulbestückung vorhandenen - Felder ausfüllt, ist Deine Vorgabe erfüllt.

Wenn Du möchtest, dass irgendwer auf Deiner Webseite irgendwas eintragen kann, dann hilft es Dir nicht und das wird auch schwieriger...

Gruß
HerrB

Verfasst: Mi 25. Jan 2006, 16:17
von womic2000
Wenn ein Redakteur einen neuen Artikel verfaßt, weiss er, dass er für diesen Artikel das Template "Aktion" verwenden soll. dieses Template verwendet das Modul "Aktion", das dem Redakteur erlaubt, in 4 Textfeldern die geforderten Daten einzugeben.

Im Output des Moduls werden dann diese Daten als Tabelle ausgegeben. Ist dieser Artikel der Startartikel, würde auf der Seite dann diese Tabelle erscheinen.

Es soll aber ein anderer Artikel der Startartikel sein, der über ein anderes Template dafür sorgt, dass alle in dieser Kategorie enthaltene Artikel auf der Website untereinander ausgibt. (Was deine Artikelliste macht).

Verfasst: Mi 25. Jan 2006, 20:47
von HerrB
Na, dann hast Du es ja fast. Im Detail habe ich es aber noch nicht verstanden.

Mal sortieren:
Im Output des Moduls werden dann diese Daten als Tabelle ausgegeben.
Machen wir es uns einfach: Der Redakteur erzeugt einen Artikel mit besagtem Template, welches die vier Felder bereits in einer Tabelle anzeigt.
Ist dieser Artikel der Startartikel, würde auf der Seite dann diese Tabelle erscheinen.
Das ... öhm ... ist für diese Kategorie ... dann automatisch ...
Es soll aber ein anderer Artikel der Startartikel sein, der über ein anderes Template dafür sorgt, dass alle in dieser Kategorie enthaltene Artikel auf der Website untereinander ausgibt. (Was deine Artikelliste macht).
Das macht jetzt nur noch Sinn, wenn dieser Listenartikel der Startartikel ist (was dann irgendwie mit der Aussage vorher nicht zusammenpasst) oder sich alle Artikel, die diese Liste anzeigen soll, sich in einer Kategorie befinden.

Kannst Du da mal ein Beispiel formulieren, so mit gewünschter Kategoriestruktur usw.?

Gruß
HerrB

Verfasst: Do 26. Jan 2006, 09:07
von womic2000
Rein Objektiv möchte ich es gerne so haben, dass der Redakteur, bei einem neuen Artikel in der Kategorie "Aktion" genau nach den 4 erforderlichen Eingaben gefragt wird. Diese soll er in die 4 Textfelder eintragen.

Im Frontend soll, wenn die Kategorie Aktion aufgerufen wird, alle eingegebene Artikel untereinander gelistet werden.

Jeder Artikel gibt eine Tabelle aus, die die 4 Daten ausgibt.

Verfasst: Do 26. Jan 2006, 11:50
von HerrB
Rein Objektiv möchte ich es gerne so haben, dass der Redakteur, bei einem neuen Artikel in der Kategorie "Aktion" genau nach den 4 erforderlichen Eingaben gefragt wird. Diese soll er in die 4 Textfelder eintragen.

Im Frontend soll, wenn die Kategorie Aktion aufgerufen wird, alle eingegebene Artikel untereinander gelistet werden.

Jeder Artikel gibt eine Tabelle aus, die die 4 Daten ausgibt.
Eben, geht doch schon. Wenn Du ein Template mit 4 Feldern erzeugst, kann der Redakteur nur diese vier ausfüllen (er wird nicht explizit gefragt, aber das er alle ausfüllen soll, kann man ja kommunizieren).

Der Startartikel dieser Kategorie verwendet das Artikellisten-Modul und zeigt tabellerisch den Inhalt der einzelnen Artikel als eine Seite...

Wenn es das noch nicht ist, kannst Du vielleicht einen Screenshot machen oder eine Beispiel-Seite zeigen?

Gruß
HerrB

Verfasst: Do 26. Jan 2006, 11:59
von womic2000
Das hört sich gut an.

Wie mache ich es mit dem Modul für diesen Artikel ?

Im Template muss ich ja für jeden der 4 Bereiche ein Modul angeben. Kann ich da jeweils das gleiche Modul angeben ?

Kannst du das mir an einem Beispiel zeigen ?

Verfasst: Do 26. Jan 2006, 12:15
von HerrB
Du legst einfach vier Module des Typs Text (HTML) an:

Basis (nur Ausgabe/Output):

Code: Alles auswählen

<?php
echo "CMS_HTML[1]";
?>
Das machst Du vier mal und änderst jeweils die Zahl in 2, 3 und 4.

Dann erstellst Du ein Layout, welches vier Plätze (Container) für diese Module vorsieht.

Dann kombinierst Du das Layout mit den Modulen zu einem Template.

Dann erzeugst Du in der Kategorie einen Startartikel (der ein Template verwendet, welches nicht diese Module, sondern z.B. mein Artikellisten-Modul Advanced beinhaltet) und einen Beispiel-Artikel auf Basis des 4-Felder-Templates (ruhig ausfüllen, macht das Konfigurieren des Startartikels leichter).

Nun konfigurierst Du den Startartikel und wählst dabei den Beispiel-Artikel aus, stellst 3 als Anzahl für zusätzliche Felder ein und konfigurierst sie und deaktivierst "Startartikel anzeigen" (alles in der Konfiguration).

Nach dem speichern solltest Du den Inhalt des Beispiel-Artikels im Startartikel sehen (im Editor).

Nun feilst Du noch ein wenig am Output des Artikelliste Advanced-Moduls, so dass die Felder an der gewünschten Stelle und in der gewünschten Form ausgegeben werden.

Wenn in dem, was die Redakteure eingeben, auch HTML-Tags erlaubt sein sollen, musst Du im Output des Artikellisten-Moduls jeweils die Funktion strip_tags entfernen (d.h. aus der Zeile striptags( und am Ende eine schließende Klammer entfern). Ich werde das wohl irgendwann nochmal konfigurierbar machen müssen).

Wenn Du den Link zum jeweiligen Artikel nicht ausgibst ("More..."), sieht kein Mensch, dass da andere Artikel dahinter liegen (und schon hat man z.B. einen Termin-Kalender...).

Gruß
HerrB

Verfasst: Do 26. Jan 2006, 15:42
von womic2000
Bis auf die Übersichtsseite habe ich es nach deiner Anleitung umgesetzt.
Das ist genau das was ich gesucht habe. Aber das über das Template so zu machen, hätte ich nicht gedacht. Ich hätte eher versucht, in einem Modul die 4 Felder unterzubringen.

Es ist gut so, dass die HTML-Tags entfernt werden. Er soll nur die erforderlichen Daten eingeben.

Als nächtes werde ich deine Artikelliste einbauen.

Verfasst: Di 31. Jan 2006, 09:42
von womic2000
Hallo HerrB,

ich habe nun deine Artikelliste Adv. eingebaut.
Sie liefert jedoch nicht das gewünschte Ergebnis. Ich wollte diese dann abändern, jedoch ist der Umfang deines Moduls so umfangreich, dass ich damit nicht klar komme.

Kannst du mir Tipps geben, bzw. ein einfaches Modul, das nach den oben genannte Modul (mit den 4 Textfeldern) eine Liste aufbaut. Also für jeden in dieser Kategorie enthaltenen Artikel eine Tabelle, die die 4 Textfelder enthält.

Ich denke, dass ich das einfache Modul besser anpassen kann, als die funktionsreiche Artikelliste Adv.

Danke im voraus.

Michael

Verfasst: Di 31. Jan 2006, 17:01
von HerrB
Der Aufwand ist praktisch der Gleiche. Du musst nur den Output-Bereich anpassen.

Dieser gibt in der Standardversion die Elemente wie in der Konfiguration eingestellten Reihenfolge in <div>s aus.

Wenn Du nun darum eine Tabelle definierst und statt <div></div> halt <td></td> verwendest, kommt eine Tabelle mit vier Spalten raus...

echo "<table>\n";
// Hier Output data mit <td> </td>
echo "</table>\n";

Das \n ist ein nur "neue Zeile", hoffe ich.

Gruß
HerrB

Verfasst: Di 31. Jan 2006, 21:26
von womic2000
So einfach ist es nicht.

Eine Tabelle drum bauen is OK, aber trotzdem kommt nur einer der 4 Eingaben, und zwar der, der in dem Modul-Input als "Headline Element:" angegeben wurde, die 3 anderen Eingaben kommen nicht.

Darum meinte ich, ein einfaches Modul, das in einer Schleife alle Artikel dieser Kategorie ausgibt.
Anhand diesem Beispiel kann man am besten erkennen, wo man alle Artikel her bekommt, und wie man diese ausgibt.

Verfasst: Mi 1. Feb 2006, 01:12
von HerrB
Ähm, das Modul ist zwar leistungsfähig, aber es macht genau das, was Du möchtest.

Es ermittelt alle Artikel in der Kategorie und zeigt neben Headline den Inhalt aller zusätzlichen Elemente, die Du bei der Konfiguration gewählt hast, an.

Entweder enthalten Deine Artikel nicht die vier Elemente, sind leer oder Du hast keine Konfiguration der Kategorie bzw. des Artikels durchgeführt...

Echt, das isses.

Wenn Du es nochmal versuchst und es dann nicht geht, sende mir bitte ein PW für Deine Contenido-Installation per PM (das ist die Schaltfläche PM unter dieser Nachricht).

Gruß
HerrB