Seite 3 von 3

Verfasst: Mi 24. Okt 2007, 14:46
von kummer
hallo conradius

es ist zwar nicht der richtige thread dafür: aber wie ich sehe bist du in der gleichen gemeinde wie ich zuhause. ist das ein einzelprojekt in contenido oder arbeitest du mehr noch mit contenido.

nur so zwecks networking... :lol:

gruss aus dem spiegel,
andreas

Verfasst: Mi 24. Okt 2007, 14:54
von wosch
conradius hat geschrieben:Ich habe da mal so ein Modul erstellt, falls Du noch Interesse hast...
Ein Beispiel dazu findest Du hier: http://www.spur-wechsel.ch/front_content.php?idart=10
Hm, sieht gut aus, mal was anderes, bringt mich auf eine Idee.
Kannst du das Modul mal posten, vielleicht mit einer kleinen Beschreibung.

Verfasst: Mi 24. Okt 2007, 15:00
von wayfearer
Is zwar eine nette sache Conradius, finde ich aber zu umständlich und ist auch net ganz so wie ich das will. Das ding ist halt das du eben nicht xyz artikel für ein paar tabs anlegen musst sondern alles übersichtlich in einem administrieren kannst.

Das ist für Endkunden die nicht viel Arbeit haben wollen einfacher.

Aber ansonsten ist es echt cool !


Mfg,

Marcel

Verfasst: Mi 24. Okt 2007, 16:09
von conradius
@wayfearer: ja, das braucht dann halt (viele) Artikel und somit ein bisschen (viel) mehr Aufwand, das stimmt.
EDIT: Hab zur Übersichtlichkeit einen neuen Thread eröffnet. Danke für Deinen Hinweis.

@wosch und alle anderen Modulinteressierte auch:
EDIT:
Ihr findet alles dazu in folgendem Thread: http://contenido.org/forum/viewtopic.php?t=18460

@Kummer: Hey super, würde mich gerne mal mit Dir kurzschliessen. Ich mache eigentlich seit 2 Jahren ausschliesslich Contenido-Projekte.
Gruss vom Rosacher, melde mich dann gerne mal!

Adios,
Conradius

Verfasst: Mi 24. Okt 2007, 16:24
von wayfearer
Hey conradius,

poste das doch besser in einem neuen thread. findet ja sonst keiner und hier passt das nicht ganz hin ;-)

mfg,

marcel

Verfasst: Mi 24. Okt 2007, 17:49
von conradius
jepp, siehe mein vorheriges Posting.

Danke & Gruss,
Conradius

Verfasst: Do 25. Okt 2007, 08:52
von wayfearer
Okay Leute es geht weiter ...

Also erst mal zum aktuellen Stand:

Im Backend läuft nun alles wie erwartet, alle Container werden richtig ausgegeben und die Inhalte auch korrekt gespeichert und auch angezeigt.

Im Frontend läuft gar nichts !

Das hat auch eine Ursache:

Im Backend steht mir das Array $a_content zur Verfügung über welches ich die Inhalte anhand des Typs und der ID auslesen kann, zB:

Code: Alles auswählen

$a_content["CMS_HTMLHEAD"][1]
gibt mir die 1. Headline des aktuellen Artikels aus.

Im Frontend scheint das nicht zu funktionieren, ich habe mal versucht das Array mit print_r(); auszugeben, allerdings sehe ich da gar nichts. Also gehe ich davon aus das noch irgendwo irgendein Include fehlt. Doch leider weiß ich nicht welche Datei ich Includen muss, die mir dann das Array zur Verfügung stellt. In der API-Doc existiert das Array noch gar nicht also gehe ich davon aus das es erst ab der Version 4.6.x zur Verfügung steht und deshalb in der veralteten API-Doc noch nicht referenziert ist.

Vielleicht weiß ja einer, welche Datei includet werden muss oder wie das Frontend-Äquivalent zu $a_content heißt.

Danke schonmal im Voraus !

Mfg,

Marcel[/code]

Verfasst: Do 25. Okt 2007, 08:57
von kummer
hast du schon mal in der con_code eines artikels nachgeschaut, der ein cms_html eingebunden hat? dort müsste "CMS_HTML[1]" (evt. anderer index) durch eine variable ausgetauscht worden sein, die den inhalt des elementes beherbergt.

aber keine sorgen. den schwierigen teil hast du hinter dir. schlimmstenfalls kann man durch eine einzelne db-abfrage alles auslesen, wenn es mit bordmitteln nicht gehen sollte. das ist überhaupt kein problem.

aber schau mal zunächst in der con_code, ob du was findest.

gruss,
anddreas

Verfasst: Do 25. Okt 2007, 09:08
von wayfearer
In der con_code habe ich ja nachgeschaut und das ist ja eben das witzige, in dem Modul Output der in der con_code steht wird der Platzhalter nicht durch eine Variable ersetzt sondern direkt duch den entsprechenden Inhalt !
Daraus schließe ich dass der Platzhalter dort schon vorher an irgendeiner anderen Stelle verarbeitet werden muss und die Stelle such ich.

Mfg,

Marcel

Verfasst: Do 25. Okt 2007, 09:13
von kummer
dann würde ich es mit einer abfrage lösen. das wird nicht weniger leistungsfähig sein als mit bordmitteln.

du musst von der idartlang ausgehen. die hast du in der variablen $idartlang zur verfügung. mit dieser kannst du die tabelle con_content ansprechen und musst nur auf die richtige idtype einschränken. dann kriegst du alle inhalte.

Verfasst: Do 25. Okt 2007, 09:46
von wayfearer
Ich habs herausgefunden, also hier mal der Hinweis:

Um das Array $a_content in Modulen für die Frontendausgabe zu nutzen muss einmal die functions.general.php included werden:

Code: Alles auswählen

cInclude("includes", "functions.general.php");
und dann einmalig folgende Funktion aufgerufen werden:

Code: Alles auswählen

getAvailableContentTypes($idartlang);
Damit stehen alle Inhalte im Array $a_content zur Verfügung !


Es geht immer irgendwie mit Bordmitteln ;-)

Mfg,

Marcel[/code]

Verfasst: Do 25. Okt 2007, 10:03
von kummer
die frage ist nur, wieviele abfragen hier zusätzlich gemacht werden. eine hätte gereicht. ich vermute mal mit bordmitteln werden es soviele sein, wie du inhalte hast... :wink:

Verfasst: Do 25. Okt 2007, 10:25
von wayfearer
Der zieht da nur die Inhalte raus, die zu dem entsprechenden Artikel gehören.

Ich könnte natürlich noch ne Wrapper Funktion bauen die das gleiche macht aber auf die entsprechende ID-Range beschränkt. Nur die müsste man dann wieder zusätzlich Installieren und das Modul soll ja Paste-and-Play funktionieren. Vor allem ist das schwierig die ID-Range zu beschränken, da Sie vom Benutzer frei variierbar ist sie setzt sich aus dem gewünschten Startwert für den Content und der Instanz des Moduls zusammen, z.B. normal würde ich schreiben CMS_HTML[20] um den Content mit der ID 20 zu initialisieren. In dem Modul lässt sich dieser Wert frei konfigurieren und dann wird noch die entsprechende Modulinstanz davor gestezt also, wenn das Modul das 2. Mal eingesetzt wird dann wäre die übergebene ID=220.

Und meine Variante liest mir ja einfach allen Content der zu dem Artikel gehört aus und speichert mir den im Array.

So sieht die DB Abfrage aus:

Code: Alles auswählen

$sql = "SELECT
	                *
	            FROM
	                ".$cfg["tab"]["content"]." AS a,
	                ".$cfg["tab"]["art_lang"]." AS b,
	                ".$cfg["tab"]["type"]." AS c
	            WHERE
	                a.idtype    = c.idtype AND
	                a.idartlang = b.idartlang AND
	                b.idartlang = '".$idartlang."'";

Mfg,

Marcel

Verfasst: Fr 26. Okt 2007, 17:55
von wayfearer
So Modul fertig, hier gehts zum Thread:

http://contenido.org/forum/viewtopic.ph ... 298#108298