Zum Inhalt springen

Suche echt dynamische Lösung!

Erstellt am 23. Juni 2004 · 8 Antworten · letzte Antwort am 27. Juni 2004

Tags: Frage

RonDog ·

Hi, ich bin Newbie auf dem CMS / TYPO3 Sektor, aber mit +30 Jahren IT-Background.

TYPO3 scheint ja das mächtigste unter den freien (GPL) CMS-Systemen zu sein, und trotz intensiver Beschäftigung mit der Dokumentation, Tutorials usw., kann ich mir selbst meine Fragen nicht beantworten, also suche ich hier Hilfe.

Ich bin mit der CMS/TYPO3-Terminologie noch nicht so vertraut, bitte also um Nachsicht, wenn ich manches nicht korrekt beschreibe.

Die angebotenen CMS sind n.m.b.M. pseudo-dynamisch, damit meine ich, dass der Seitenaufbau direkt durch Content-Elemente erstellt, und damit die Struktur quasi manuell beeinflusst und vorgegeben wird.

Ich suche nach einer Möglichkeit, wo ausser einem HTML-Rahmen (mit fixen Teilen), in den Content-Columns keine festen Zuordnungen bestehen. Der Content soll sich aufgrund von Kategorien/Unterkategorien und frei definierbaren Bedingungen aus verschiedenen Content-Containern dynamisch aufbauen.

Beispielsweise Ad-Content nach Kategorie/Priorität (sticky Ads) in einer/beiden Seitentabelle/n, und der Main-Content, der aus einer Abfolge verschiedener Page-Content-Container bestehen kann, in einer zentralen Tabelle. Natürlich muss das Ganze dyn. begrenzbar sein, d.h. Folgeseiten müssen auf gleicher Basis generiert werden.

Die einzigen Fixpunkte sind die Einstiegspunkte für Top-Level-Kategorien, wobei jede Top-Level-Kategorie einen eigenen HTML-Frame besitzen kann.

Ein Page-Content-Container selbst, sollte in der Analogie wie ein dynamisch generiertes „Include“ einer Content-Page funktionieren. Also ein Page-Content-Container ist quasi eine Content-Page, die, so wie bei TYPO3, aus einer beliebig kombinierten Anzahl von Page-Content-Elementen bestehen kann.

Innerhalb einer Top-Level-Kategorie sind nur bestimmte Page-Content-Container zugelassen. Neben einfachem Page-Content, wie bei TYPO3 standard, gibt es pro Top-Level-Kategorie eine maximale Datenstruktur (DB), die in verschiedenen Ausprägungen als eigene Content-Container eingebunden werden können (d.h. mehr oder weniger Daten). Damit wird über die Top-Level-Kategorie bestimmt, welche Daten (DB-Struktur) innerhalb des Main-Contents angezeigt/gesucht werden können.

Die Content-Container sollen, im Gegensatz zum üblichen CMS Verfahren, bestimmten Usern (nicht Gruppen) zugeordnet werden, die diesen Inhalt Pflegen. Jeder User kann über beliebig viele Content-Container in beliebigen Top-Level-Kategorien verfügen.

Natürlich muss die Suchfunktion dann in der Lage sein, sowohl die Kategorie/Unterkategorien/Unter-Unterkategorien verarbeiten, sonder auch die Inhalte der Page-Content-Elemente. D.h. die Suchfunktion lässt sich nur über ein, den Top-Level-Kategorien, angepasstes Formular realisieren.

- - - - - - - - - - - - -
Kann mir irgendjemand sagen, ob dies mit TYPO3 realisierbar ist und wo ggf. bereits ähnliche Systeme real laufen?

Herzlichen Dank 😃 für Eure Hilfe!
Ron

Flink ·

Wie unter Object Browser beschrieben, gibt es die Möglichkeit, ein cObject ganz über PHP-Befehle (die auf eine Datenbank oder XML-Texte zugreifen können) zu erzeugen. Externe Teile können also beliebig zusammengefügt werden und so zum Inhalt von Containern werden.
Beschreibung PHP-Skripten

Es gibt das CASE-Objekt:

Beschreibung CASE. Damit kann über verschiedene globale Variable entschieden werden, welches Element nun angezeigt wird.

RonDog ·

@Flink, nomen est omen ? Danke erst mal für die (erste) schnelle Antwort.

Kann als blutig triefender T3 Anfänger natürlich nur bedingt den Zusammenhang verstehen.

Das man mit PHP so gut wie alles managen kann, ist mir schon klar. Dank gutem C und SQL-Background komme ich da gut zurecht. Vermute, dass man den Input für T3 modifizieren muss (kenn den Terminus nicht auswendig, aber es ist eine Art Pre-Processing), damit die Container-Referenzen dann entsprechend aufgelöst werden...

Die Beschreibung von PIDinRootline in TSref.pdf ist für mich natürlich dürftig. Verstehe ich es richtig, dass dieser Parameter die Container IDs steuert, die explizit angezeigt werden sollen?

Ich versuche mal anhand eines plastischen (vereinfachten) Beispiels zu erklären, was ich eigentlich will.

Angenommen ich will Real Estate Objekte beschreiben, dann erstelle ich einen Container „RealEstate“, der alle Daten beinhaltet, die maximal möglich sind. Jetzt brauche ich einen Container für Häuser, nehme also den „RealEstate“-Container als Referenz und erstelle den Container „Houses“ quasi in einer 1:1 Vererbung, logo. Dann brauche ich einen Container für Wohnungen, also definiere ich einen Container „Flats“ mit einer Untermenge des „RealEstate“-Containers, braucht ja weniger Daten zur Beschreibung. Nun habe ich eine HTML-Seite und ein Template für Real Estate, welches nur die Container „Houses“ und „Flats“ anzeigt. Damit das Ganze aber nicht zu einfach wird, muss die Suche nach Country, State und County eingegrenzt werden. D.h. es gibt irgendwo eine Art Pre-Select, z.B. per Drop-Down Menues (whatever), die geografischen Daten bestimmen, und erst jetzt kann der Seitenaufbau mit den Containern erfolgen, die a) die entsprechenden Container IDs haben, und b) die Suchbegrenzung auf die geografischen Daten, im Prinzip ein SQL Sub-Select.

User-seitig soll(t)en Die Container, Wunschvorstellung(!), wie ein Datenblatt erscheinen. T3 erlaubt ja mit den Standardfeatures, jede Art von Page-Content zu basteln, durch zusammenstöpseln verschiedener Content Elemente. Das ist für eine geübten User sicher kein Problem, wir wollen aber Laien da ranlassen, ohne Schulung, und da muss die Schnittstelle schon einfacher (Deppensicher) gestrickt sein.

Hab bestimmt wieder einen Terminus-Interruptus verursacht :o mit meinem Laientalk, aber ich denke, es gibt viele, die sich noch an ihre ersten CMS/T3-Gehversuche erinnern und deshalb in diesen Foren auch hilfreiche Tips geben.

Im übrigen bewundere ich die Arbeit der Initiatoren dieser und anderer GPL-Software. Hut ab, vor soviel Engagement!

Ron

Flink ·
RonDog schrieb

Das man mit PHP so gut wie alles managen kann, ist mir schon klar. Dank gutem C und SQL-Background komme ich da gut zurecht. Vermute, dass man den Input für T3 modifizieren muss (kenn den Terminus nicht auswendig, aber es ist eine Art Pre-Processing), damit die Container-Referenzen dann entsprechend aufgelöst werden...

Es gibt folgende Möglichkeiten
1. Eine Seite (page) als Container anzusehen.
2. über ein Template zu arbeiten (HTML) mit Markierungen (###) und über PHP etwas zu machen
3. eine neue Extension schreiben

zu 1.) Alle Daten werden in Seiten eingegeben. Die Kategorie ist eben die Root-Seite, womöglich mit einem eigenen Template. Es können Konstante für Country, County usw. gesetzt werden. Eine Suchmaske greift darauf zurück. Ein Content-Element kann auf ein anderes in einer anderen Seite verlinken. Es kann per PHP gezielt auf Elemente einer Seite zugegriffen werden. Menüs sind einfach zu erstellen.
Aber es hat den Nachteil, dass ja in jede Seite die Content-Elemente neu eingegeben werden müssen. Der Seiten-Wizard kann nicht ein Template zum Bau einer Seite verwenden. Hier müsste Typo3 wohl erweitert werden, damit es ein Seiten-Template für alle Unterseiten verwenden kann.
zu 2.) Dazu müsste aber erst außerhalb von Typo3 wieder mit PHP programmiert werden. Denn das Template muss je nach Eingabe mit Daten aus einer Tabellle aufgefüllt werden. Aber es wäre eine einfache Datenbankabfrage. Und es muss einfach eine Eingabe-Seite erstellt werden, bei welcher die Daten eingegeben werden.
zu 3.) Die wohl sauberste Lösung. Einmal mit PHP das Typo3 selber erweitern. Ein Template für Kategorie und Subkategorie definieren. Eine Teilmenge daraus für 'Flats' und 'Houses'. Eine Eingabemaske zur Eingabe des 'RealEstate'. Das ist die beste Lösung, weil der Container von Ihnen selber definiert wird und verändert werden kann. Extension bedeutet ein zusätzliches Content-Element. Oder ein ganzes Shop-System. 😉 Dieses ist so geschrieben, dass es alle notwendigen Eingabemasken enthält, die dann einzeln in verschiedenen Seiten eingefügt werden können.

Die Beschreibung von PIDinRootline in TSref.pdf ist für mich natürlich dürftig. Verstehe ich es richtig, dass dieser Parameter die Container IDs steuert, die explizit angezeigt werden sollen?

Ja, hier kann man die Root-Seite einer Seite dazuverwenden, die Kategorie anzugeben. Damit könnte man über PHP eine SQL-Abfrage machen und einen Datensatz anzeigen.

Angenommen ich will Real Estate Objekte beschreiben, dann erstelle ich einen Container „RealEstate“, der alle Daten beinhaltet, die maximal möglich sind.

Dazu einfach eine Tabelle in der Datenbank anlegen und eine Eingabemaske für Typo3.

Jetzt brauche ich einen Container für Häuser, nehme also den „RealEstate“-Container als Referenz und erstelle den Container „Houses“ quasi in einer 1:1 Vererbung, logo. Dann brauche ich einen Container für Wohnungen, also definiere ich einen Container „Flats“ mit einer Untermenge des „RealEstate“-Containers, braucht ja weniger Daten zur Beschreibung. Nun habe ich eine HTML-Seite und ein Template für Real Estate, welches nur die Container „Houses“ und „Flats“ anzeigt.

Die 'Houses' und 'Flats' werden durch Abfragen in obiger Tabelle ermittelt, wobei eine Spalte Typ ausschlaggebend ist. Der Typ wird als globale Variable in Typo3 eingegeben. (Eingabemaske oder Auswahl in Menü).

Damit das Ganze aber nicht zu einfach wird, muss die Suche nach Country, State und County eingegrenzt werden. D.h. es gibt irgendwo eine Art Pre-Select, z.B. per Drop-Down Menues (whatever), die geografischen Daten bestimmen, und erst jetzt kann der Seitenaufbau mit den Containern erfolgen, die a) die entsprechenden Container IDs haben, und b) die Suchbegrenzung auf die geografischen Daten, im Prinzip ein SQL Sub-Select.

Es gibt globale Variablen, die auf beliebigen Seiten gesetzt werden können. (Plugin-Skript).

User-seitig soll(t)en Die Container, Wunschvorstellung(!), wie ein Datenblatt erscheinen. T3 erlaubt ja mit den Standardfeatures, jede Art von Page-Content zu basteln, durch zusammenstöpseln verschiedener Content Elemente. Das ist für eine geübten User sicher kein Problem, wir wollen aber Laien da ranlassen, ohne Schulung, und da muss die Schnittstelle schon einfacher (Deppensicher) gestrickt sein.

Die Ein-/Ausgabe über eine HTML-Seite, mit einem Menü zur Steuerung über die Datensätze. Alles nur Front-End Benutzer.

Im übrigen bewundere ich die Arbeit der Initiatoren dieser und anderer GPL-Software. Hut ab, vor soviel Engagement!

Hier gäbe es ja die Möglichkeit, eigene Extensions zu entwickeln, die dann von anderen weiterentwickelt werden. Das ist der Sinn hinter dem Open Source.[/list]

RonDog ·

@Flink: Gibt nur eine Antwort: Super!

Das mit den Extensions habe ich schon kapiert, und erschien mir auch die beste Möglichkeit, das Problem der Darstellung und Pflege der Daten zu lösen. Abgesehen davon, dass man durch den Open Source Gedanken, dann auch jede Menge Feedback und ggf. Verbesserungen zurück erhält, wenn man so etwas veröffentlicht. Das hätten wir schon vor 30 Jahren gebraucht...

Das „Digital Asset Management“ System scheint tatsächlich der Ansatz zu sein, den ich suche! Danke für den Link.

OK, ich denke, ich muss jetzt mal meine „Hausaufgaben“ machen, richtig? T3 ist ja auch auf Win2K lokal installierbar, aber nur in einer älteren Release. Schätze, ich muss mich nach einen vernünftigen Provider umsehen, die üblichen Web-Spaces sind für T3 zu limitiert, z.T. geht da gar nichts wg. der PHP/CGI Geschichte und zus. wg. div. Limitierungen von Apache.

Eine Frage noch zu der Darstellung der eingebetteten Zitate. Da ich ungeübt mit Foren bin, würde mich interessieren, wie ich das machen kann (wenn pure HTML, dann ist das schon klar wie).

Danke für die Hilfe!
Ron

Flink ·
RonDog schrieb

Das „Digital Asset Management“ System scheint tatsächlich der Ansatz zu sein, den ich suche! Danke für den Link.

Ja, hoffentlich wird das auch bald fertig sein.

T3 ist ja auch auf Win2K lokal installierbar, aber nur in einer älteren Release.

Ich habe die neueste 3.6 dummy problemlos unter Windows 2000 laufen. Dazu WinMySQLAdmin, phpMyAdmin 2.5.5, MySQL 4.0.17 und ImageMagick 5. Die Installation klappte dieses Mal auf Anhieb.

Schätze, ich muss mich nach einen vernünftigen Provider umsehen.

ImageMagick und den PHP memory limit (25MByte) beachten. Typo3 kompatibler Provider

Eine Frage noch zu der Darstellung der eingebetteten Zitate. Da ich ungeübt mit Foren bin, würde mich interessieren, wie ich das machen kann

Es gib beim Erstellen von Nachrichten oben das Quote-Symbol. Bzw. man schreibt im Text einfach

[quote] und [/quote] und für Links [url=http://www.adresse.com]Adresse[/url]
RonDog ·

Nochmals Danke. Mach mich an die Arbeit... Es gibt viel zu tun, lassen wir es sein... #giggle#