seitenhierarchisch basierende websites mit drupal ? - ein contao-user ist ratlos

am 08.08.2011 - 21:16 Uhr in
ich bin drupal(7) neuling und da ich sonst mit einen seitenhierarchischen system arbeite (contao), ist mir bisher nicht so 100pro klar wie die best practice bei drupal aussieht wenn es darum gehen würde z.b. eine 0815 firmenseite zu bauen. damit meine ich eine seite die kategorien mit inhalten hat die aber nicht dynamisch ausgegeben werden müssen und über keine inhaltlichen besonderheiten verfügen.
ich habe hier einen screenshot aus der seitenstruktur eines aktuellen contao-projektes von mir:
ich kann mir noch nicht so richtig vorstellen wie ich sowas mit drupal sinnvoll machen könnte.
das die ausgabe im frontend so irgendwie machbar ist ok...aber ich stelle mir das dann
als einen riesenhaufen nodes im backend vor die stukturlos und ungruppiert kreuz und
quer verteilt sind.
drupal hat die interessante eigenschaft das man eigene inhaltstypen erstellen kann.
lassen sich in einen node mehre nodes verschiedenster inhaltstypen einsetzen?
ich habe ja immer einwenig den aufbau von contao im kopf (seite > artikel > inhaltselemente)
ich hoffe mein "problem" ist nachvollziehbar ..evtl. ist hier auch der ein oder andere contao-user unterwegs
uns versteht was mir so im kopf rumschwirrt.
PS:
um es evtl. noch einwenig zu konkretisieren:
vermutlich stellt sich für mich die frage ob ich nodes innerhalb eines nodes(der als leerer container dient)
in einer freibestimmbaren reihenfolge anzeigen kann und diese über die taxonomy im backend filtern kann.
so meine vermutung..ich bin in der drupal-welt wie gesagt noch recht unbedarft.
- Anmelden oder Registrieren um Kommentare zu schreiben
Umdenken bitte! In Drupal
am 08.08.2011 - 23:16 Uhr
Umdenken bitte! In Drupal baust Du Dir erst Strukturen (Datentypen oder Nodetypen genannt). Darin gibst Du Daten ein (das sind die einzelnen Nodes). Anzeigen läßt Du Dir die z.B. als Listen mit Views (Eine Liste kann auch nur ein Element haben). Das kann als eine Seite oder als ein Block geschehen. Blöcken kann ich jetzt Sichbarkeitsbedingungen mitgeben (auf welcher Seite soll der Block erscheinen oder welche Userrolle darf ihn sehen) und auch sagen, in welcher Region der Seite ein Block auftauchen sollen. Die Regionen werden im Theme definiert.
Im einfachsten Fall definierts Du eine Seite, deren einzige Eigenschaft ein Titel und ein Pfad sind (die Seite ist also leer). Über den Pfad gesteuert erscheinen darauf die diversen Blöcke, die die gewünschten Informationen an den festgelegten Stellen zeigen. Die Seite bekommt dann noch einen Menüpunkt und Du hast eine komplexe dynamische Anzeige realisiert.
Du solltest also gedanklich Deine Seite "bottom up" aufbauen und nicht "top down" vom Menü auf die Seite auf die Seiten-Unterteilung auf den Inhalt. Bei Drupal kommt immer zuerst der Inhalt.
Contao vs Drupal
am 09.08.2011 - 02:14 Uhr
Hallo Chris,
erstmal willkommen in der Drupal-Welt!
Ich nutze sowohl Drupal als auch Contao, vielleicht kann ich ja ein wenig übersetzen.
In Contao legst Du zuerst die Seitenstruktur an und das "Layout", damit Du die Platzhalter für die Inhalte hast. Dann füllst Du die "Artikel" mit Inhalten bzw. Inhaltselementen. Wobei "Artikel" keinen Inhaltstyp bezeichnet, sondern eigentlich den seitenbasierten Container für Inhalte.
In Drupal funktioniert es genau anders herum. Du baust die Seitenstruktur über das Menu, allerdings musst Du vorher Inhalte erstellen, damit Du überhaupt was zu strukturieren hast. Praktisch ist es allerdings so, dass Du beim Eingeben der Inhalte (= Nodes) zumindest bei statischen Seiten schon die Zuordnung zum gewünschten Menu vornehmen kannst.
"Vordefinierte" Inhaltselemente wie in Contao (Überschrift, Text, Bild, Bildergalerie, Liste, ... HTML, Modul, ...) gibt es in Drupal nicht. Allerdings kannst Du Dir über Fields eigene Inhaltstypen zusammenbasteln, das entspricht aber eher dem Contao-Catalog. So kannst Du z.B. auch die mitgelieferten Inhaltstypen mit zusätzlichen Feldern erweitern.
Für die Darstellung solcher strukturierter Inhaltstypen steht Dir in Drupal die Erweiterung Views zur Verfügung. Damit kannst Du die einzelnen Felder auf sehr vielfältige Weise anzeigen und kombinieren. Eine View kann entweder in eine Seite gepackt werden, dann bekommt sie eine URL zugeordnet und ggfs. einen Menupunkt, oder sie kann in einen Block gepackt werden, dann kann sie wie alle anderen Blöcke flexibel auf Seiten positioniert werden.
Allen Inhaltstypen kannst Du Taxonomien zuordnen.
Was Du mit "frei bestimmbaren Nodes" meinst, läuft wahrscheinlich eher auf den Seitenaufbau hinaus. Was Du in Contao über das "Layout" bestimmst, nämlich welche seitenübergreifende Inhalte (in Contao "Module", in Drupal "Blöcke") oder Container an welcher Stelle in welcher Region (Header, Spalten, Footer etc.) sitzen, kannst Du in Drupal über die Erweiterung Context abbilden.
Auf jeden Fall zu erwähnen ist der Unterschied zwischen Contao und Drupal bei den dynamischen Inhalten, z.B. Blogartikeln.
In Contao baust Du Dir den "Leser" als Containermodul für die einzelne Nachricht und die "Liste" zur Anzeige mehrerer Nachrichten. Die Nachricht selbst wird ins entsprechende Nachrichtenarchiv geschrieben und von dort zur Anzeige auf der Seite gezogen.
In Drupal nutzt Du den Inhaltstyp Artikel oder Du baust Dir einen eigenen, z.B. namens "Nachricht". Jeden Blogartikel gibst Du dann in diesem Inhaltstyp ein. Mittels Views bildest Du die nötigen Listen (Neueste, Archiv, etc.), aber einen "Leser" brauchst Du nicht, da jeder Artikel ein Node ist und jeder Node per se eine URL hat.
Ich hoffe, ich konnte die Nebel ein wenig lichten ;-) ... obwohl das natürlich nur ein klitzekleiner Einblick sein kann.
Gruß
kissmedve
Also die einfache
am 09.08.2011 - 05:24 Uhr
Also die einfache Inhaltsstruktur kannst du ebenso in Drupal aufbauen. Einfach seiten mit Menüs wie oben erstellen, fertig!
der versuch aus auflistungen auszubrechen
am 09.08.2011 - 19:46 Uhr
(...)
"Vordefinierte" Inhaltselemente wie in Contao (Überschrift, Text, Bild, Bildergalerie, Liste, ... HTML, Modul, ...) gibt es in Drupal nicht. Allerdings kannst Du Dir über Fields eigene Inhaltstypen zusammenbasteln, das entspricht aber eher dem Contao-Catalog. So kannst Du z.B. auch die mitgelieferten Inhaltstypen mit zusätzlichen Feldern erweitern.
Für die Darstellung solcher strukturierter Inhaltstypen steht Dir in Drupal die Erweiterung Views zur Verfügung. Damit kannst Du die einzelnen Felder auf sehr vielfältige Weise anzeigen und kombinieren. Eine View kann entweder in eine Seite gepackt werden, dann bekommt sie eine URL zugeordnet und ggfs. einen Menupunkt, oder sie kann in einen Block gepackt werden, dann kann sie wie alle anderen Blöcke flexibel auf Seiten positioniert werden.
Allen Inhaltstypen kannst Du Taxonomien zuordnen.
(...)
hallo kissmedve,
ersteinmal vielen dank für deine bemühungen zur völkerverständigung :))
das macht die sache in teilen verständlicher.
das problem was ich mit drupal habe ist das alles daraus hinausläuft das inhalte aufgelistet werden nach irgend einen parameter
(datum, titel anfangsbuchstabe, name der taxononmy , etc) aber es sich schwierig gestaltet sich einige selbst erstellte inhaltstypen
zu schnappen und den damit erzeugten content auf einer statischen seite in einer manuel sortierten reihenfolge auszugeben.
hätte ich z.b. eine statische seite bei der in der hauptinhalts-spalte evtl. erst einwenig text kommt, danach ein eine bildergalerie,
und evtl. ein kontaktformular, und man möchte das ganze so aufbauen das all das nicht einfach mittels eigenen html
in einen primitiven seitennode ist, sondern aus mehren selbstgebauten eigenen inhaltstypen besteht, so das ich oder ein kunde
für bestimmte inhalte einen extra inhaltstyp wählt, mit passenden feldern und frontendausgabe die ich vorbereitet habe, und daraus eine seite
sinnvoll aufbaubar ist. oder würde das darauf hinauslaufen das man für jeden inhaltstyp erst einen block anlegt?
die frage geht ja ansich darüber hinaus wie man das irgendwie hinbekommt, sondern wie man es gut und sinnvoll umsetzt.
so das ein seitenbetreiber nach der übergabe den inhalt auch erweitern kann.
zwar habe ich gesehen das man für inhalte taxonomy begriffe vergeben kann, aber scheinbar lassen diese sich über das adminpanel
nicht aussortieren, dort geht das nur über den inhaltstyp. wäre es bei einer drupalseite etwa üblich das man für jede unterseite
einen extra inhaltstyp mit speziellen namen erzeugt obwohl der die gleichen funktionen hat wie sein verwandter einer anderen inhaltsseite,
nur damit man das als admin/kunde sinnvoll filtern kann?
ich bedanke mich sehr für die freundlichen und hilfsbereiten antworten.
ps: ich bin auf drupal durch die arbeit mit contao-catalog und dem dma-elementgenerator gestoßen, und habe dadurch gewisse vorteile
beim bau von websites entdeckt. nun versuche ich nur zu verstehen wie man den komplexen aufbau von seiten in drupal bewerkstelligt,
wo es eben nicht darauf hinausläuft das 95% der seite daraus besteht das man datensätze sortiert anzeigt. bzw. versuche is rauszufinden
ob das überhaubt gut strukturiert umsetzbar ist.
Ich fürchte, ich muss Dich
am 09.08.2011 - 21:13 Uhr
Ich fürchte, ich muss Dich etwas enttäuschen. Den flexiblen Mix and Match der Inhaltselemente wie von Contao gewohnt gibt es bei Drupal nicht, jedenfalls nicht so einfach. HTML-Elemente wie Listen u.ä. werden ausschließlich via RichText-Editor eingegeben. Andererseits kannst Du Blöcke und Views (in Blockform) schon flexibel kombinieren. Das geht mit der "normalen" Blöcke-Anordnung oder, noch flexibler, mit dem Modul Context. Weitere Möglichkeiten bieten die Module Panels oder Dynamic Display.
Normalerweise hat man ja ohnehin einen strukturierten Plan, welche Inhalte prinzipiell auf welche Seite sollen bzw. wo und was später überhaupt noch hinzugebaut werden kann. Und solange man nicht für einen sowohl technisch als auch gestalterisch fitten Kunden arbeitet, möchte man auch nicht, dass der wild und bunt irgendwo was anbaut. Überladen sollen die Seiten ohnehin nicht sein. Also ist es doch gar nicht falsch, wenn sich die Möglichkeiten für den Kunden in Grenzen halten ;-) ?
Nochmal kurz gesagt: statische Einzelinhalte lassen sich in Drupal nicht sinnvoll in Inhaltselemente aufbrechen, jedenfalls nicht in der Weise, wie Du es von Contao gewöhnt bist. Sobald Du aber Inhaltselemente (=Felder) standardisieren kannst, weil sie mehrfach in gleicher Weise anfallen, lohnt es sich, einen eigenen Inhaltstyp zu bauen. Das kann durchaus auch schon ein Inhaltstyp "Artikel" oder "Seite" aus, der einfach ein bisschen "mehr" dran hat. Wahrscheinlich musst Du Dich einfach ein bisschen umgewöhnen.
Beide Systeme haben ihre Stärken: Projekte mit vorwiegend statischen Seiten hast Du wahrscheinlich in Contao schneller - und vielleicht auch für den Kunden übersichtlicher - zusammengestellt. Drupal wird dann richtig interessant, wenn die Aufgaben komplexer werden. Wenn Du viele Daten hast, die sich in eigene Datentypen fassen lassen, und Du die womöglich noch in verschiedenen Varianten anzeigen willst. Oder für alles, was man so unter Community-Seiten fassen könnte - breiter Begriff, ich weiß ;-).
Zur Beitragssuche: was Du dort siehst, ist eine View mit Exposed Filters. Du kannst Dir auch eine eigene View dafür bauen und u.a. nach Taxonomy Terms ordnen. Ich hab's zwar noch nicht gemacht, aber ich denke, Du müsstest die vorhandene View disablen und Deiner View den entsprechenden Pfad mitgeben. Auf gar keinen Fall brauchst Du pro Unterseite einen Inhaltstyp ... das wäre auch wirklich nicht sinnvoll.
Gruß
kissmedve
alles wird gut
am 09.08.2011 - 21:40 Uhr
hallo kissmedve :)
zu der sache mit dem kunden: ich gehe da mit dir grundsätzlich konform. es ist wie mit vielen dingen bei einen cms.. es ist wichtig das ich bestimmte sachen tuen könnte. ob es dann in der form wirklich mal so gebraucht wird ist etwas anderes. contao lässt sich ja wunderbar auch auf den unerfahrensten kunden runterbrechen - und überhaupt habe ich auch nicht vor zu wechseln. dafür mag ich es zu sehr und kenne die qualitäten. aber drupal ist einige der von dir aufgeführten anforderungen eine interessante alternative (zum contao-catalog). und die wahl und flexibilität zu haben ist immer interessant :)
bzw. finde ich das contao und drupal zueinander gute gegenstücke im werkzeugkoffer darstellen. für "normale" firmenseiten z.b. steltl sich mir aktuell contao bei meinen bisherigen anforderungen aufjedenfall als bessere wahl da und muss sich kein stück verstecken.
jedenfalls bin ich mitlerweile was das mix and match von statischen inhalten, wie du so schön gesagt hast, angeht wieder von drupal angetan.
das "Panels" modul scheint erstmal die lösung zu sein - danke!. dadurch das man dort die "inhalts-elemente" per drag'n'drop anordnen kann etc. und
es die möglichkeit des direkten bearbeiten gibt tritt eine seitenbaumorganisation für statische seiten erstmal in den hintergrund.
in verbindung mit individuell erstellten inhaltstypen-ansichten könnte man evtl. sogar den contao-way evtl. nachbilden.
der alpha-status löst einwenig misstrauen aus, aber bis ich drupal wirklich für ein richtiges projekt einsetze sieht das vermutlich besser aus.
die erweiterung scheint ja auch eine gewisse popularität zu besitzen.
das man mit views sich auch ansichten für das backend bauen kann ist interessant. damit könnte man sicher auch was nettes stricken :)
edit:
ps: das mit dem back- und frontend muss man sich auch erstmal umgewöhnen, zumal contao da hart trennt.
macht aber auch spass mal nen anderes konzept zu sehen...hat alles seine vor und nachteile.
was mir noch eben eingefallen
am 09.08.2011 - 21:54 Uhr
was mir noch eben eingefallen ist: gibt es in drupal ein gegenstück zu meinen geliebten insert-tags aus contao ?
ich kann die suche diesbezüglich leider nur mit umschreibenden begriffen bemühen - fruchtet nicht.
nette grüße,
chris
Tokens
am 09.08.2011 - 23:52 Uhr
Insert Tags:
Schau Dir mal die Module Token und Token Insert an.
In Views kannst Du in einigen Einstellungen auch Platzhalter einsetzen (was möglich ist, steht zur Auswahl im Formular). Wenn Du Dich erst mal richtig in Views einarbeitest, wirst Du überhaupt noch eine Menge Möglichkeiten entdecken ...
Andererseits wird in Drupal manches anders gelöst, sodass es Dich vielleicht gar nicht so sehr nach Tokens verlangen wird. Im Zusammenhang mit Tokens fällt mir aber noch das Modell Rules ein, da kannst Du Bedingungen und Aktionen festlegen.
Ein kleiner Hinweis zu Panels:
Panels ist mächtig und komfortabel in der Nutzung, aber es produziert einiges an zusätzlichem HTML-Output. Als Contao-User sind wir ein ziemlich schlankes HTML gewöhnt, das hast Du in Drupal ohnehin nicht out of the box. Ich weiß nicht, wie Du dazu stehst, es gibt ja unterschiedliche Positionen ... Ich jedenfalls möchte nicht mehr divs und Klassen als unbedingt nötig. Context ist quasi outputneutral und bietet ebenfalls sehr differenzierte Möglichkeiten der Seitengestaltung, da bleiben eigentlich keine Wünsche offen. Okay, Du merkst es, ich gehöre zur Context-Fraktion ...
Gruß
kissmedve