Wie arbeite ich (richtig) mit Tabs (Content Profile)?

am 04.03.2010 - 11:52 Uhr in
Hallo,
entweder ich bin zu doof oder es ist doch nicht so einfach...
Das Modul Tabs habe ich installiert.
Die einzigen Änderungen die ich nach der Installation feststelle sind:
1. Neues Formular: Einstellungen --> Tabs (egal was ich in diesem Formular einstelle, Änderungen kann ich nicht festellen)
2. Im Inhaltstypen eine Gruppe "CCK Fieldgroup Tabs" - ab auch hier kann ich eintragen was ich will, ich seh keine Änderung :(
Ich arbeite mit Content Profile und habe verschieden Inhaltstypen als Content Profile deklariert.
Wenn ich auf "Mein Konto" -> bearbeiten Klicke, erscheinen auch alle Formulare in einzelnen Tabs. Allerdings werde diese auch ohne das besagte "Tabs" Modul angezeigt.
Wenn ich aber mein Profil anschaue, möchte ich, dass die verschiedenen Content Profile Formulare auf Tabs aufgeteilt werden. Leider werden aber alle CCK-Felder untereinander imselben Profil angezeigt. Ist das mit Tabs nicht möglich? WAS macht Tabs überhaupt?
Kann mir jemand helfen?
Vielen Dank,
grüße Phil
ps. was ist der unterschied zu magic tabs, jquery tabs? Was ist "besser"?
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn Du jetzt schon Tabs
am 04.03.2010 - 13:32 Uhr
Wenn Du jetzt schon Tabs siehst, kommen die ja wahrscheinlich vom Content-Profile-Modul, oder? Dann schätz ich, dass Tabs an dieser Stelle einfach überschrieben werden würde. Also ist das Problem mit Tabs auf der Kontoansicht ja im Grunde schon mit Content Profile geklärt, und da das für Dich außerdem die Identität des Users und alles mögliche andere überprüft, ist das Modul sowas von bequem, dass ich ich da nicht mehr rumfummeln würde.
Was die Felder innerhalb eines Content-Types anbelangt: aktivier bei cck das Modul Fieldgroup. Dann geh bei Deinem Inhaltstyp auf Felder verwalten und lege eine neue Gruppe an. Der Gruppe gibst Du einen sinnvollen Namen ("Adresse" für alle Adressfelder etc). Dann ziehst Du mit der Maus alle Felder für eine Gruppe direkt unter das Gruppenfeld und rückst sie per Maus ein. Das übersieht man allzuleicht.
Wenn man jetzt auf "Felder anzeigen" geht, kannst Du bestimmen, wie die Feldgruppe erscheinen soll: als collapsible fieldset (offen-geschlossen), als Box oder einfach mit Überschrift versehen.
Und jetzt kannst Du die Feldgruppen auch mit Views anzeigen lassen, z.B. in Tabform. Dazu blendest Du die Darstellung der eigentlichen Felder bei Vollansicht im Inhaltstyp aus und hängst die View als node_content an den jeweiligen Inhaltstypen an (das Modul heißt Views attach). Dazu musst Du im Argumentenbereich der view dann eine Prüfung auf die nid einrichten. Schön fand ich für den Profilbereich auch editable fields. Das lässt sich auch in views einsetzen (Skript ist in manchen Browsern buggy).
Generell funzt tabs m. A. nach nicht, wenn man bei der Definition der Reiter auf Argumente zurückgreift. Deshalb ist es eher für einfache Ansichten gedacht. Alle Prüfungen etc. sollten deshalb bereits beendet sein, bevor der User tatsächlich zum Artikeltyp vorstößt.
Wenn Du abschließend willst, dass alle Tabs unabhängig von der jeweiligen Technik gleich aussehen, musste die per css anpassen.
Zum Unterschied zu magic tabs und jquerytabs kann ich Dir nicht viel sagen, leider.
Hoff, ich konnte Dir weiterhelfen, viel Erfolg!
Gruß,
Phil :-)
Hallo Phil, vielen Dank für
am 04.03.2010 - 14:12 Uhr
Hallo Phil,
vielen Dank für die tolle und ausführliche Erklärung (:
Wenn man jetzt auf "Felder anzeigen" geht, kannst Du bestimmen, wie die Feldgruppe erscheinen soll: als collapsible fieldset (offen-geschlossen), als Box oder einfach mit Überschrift versehen.
Das war der entscheidene Tipp. DANKE!! Das hatte ich nicht gemacht. Jetzt klappts (:
Und jetzt kannst Du die Feldgruppen auch mit Views anzeigen lassen, z.B. in Tabform. Dazu blendest Du die Darstellung der eigentlichen Felder bei Vollansicht im Inhaltstyp aus und hängst die View als node_content an den jeweiligen Inhaltstypen an (das Modul heißt Views attach).
Dazu habe ich einige Fragen:
1. ..wie blende ich die Darstellung der eigentlichen Felder aus? "Ausschließen" oder Hidden oder kein Design? Auch die Gruppierung oder nur die einzelnen Felder?
2. Also würdest du mir vorschlagen die Profilansicht mit Views zu erstellen? Das "normale" Theming mit user-profile.tpl.php funktioniert nicht, wenn ich mit Tabs arbeite, oder?
Danke,
viele Grüße Phil ;)
Cool, ich hatte genau dieses
am 04.03.2010 - 21:21 Uhr
Cool, ich hatte genau dieses Aha-Erlebnis auch schon, und es ärgert echt, dass man den Maus-Drag'n'Drop so leicht übersieht. Die Frage ist jetzt, wie Du die Fieldsets im eigentlichen Node darstellst.
Ohne Views:
Wenn ich Dich richtig verstehe, benutzt Du Content-Profile. Die user-profil.tpl.php funktioniert nur beim Core-Modul - Du musst statt dessen die tpl.php der Inhaltstypen überschreiben. Dazu kopierst Du die page.tpl.php aus Deinem Theme-Ordner, benennst sie um in "namedescontentypes-page.tpl.php" und speicherst die. [Edit] Sry, richtig ist natürlich "page-namedescontentypes.tpl.php". [/Edit] Wenn Du da jetzt allen Code entfernst und kurz den Cache leerst, müsste der entsprechende Inhaltstyp völlig leer leer angezeigt werden. Jetzt kannst Du Dir die Felder dort alle selbst zusammenstellen und ausgeben, wie Du magst. Bei dem Weg brauchst Du aber im Grunde keine Fieldgroup und kein tabs mehr, denn mit dem eh schon vorhandenen collapsible fields-Skript bei Drupal, oder auch Modulen wie der Lightbox, der jquery ui etc. kannst Du, wenn Du die richtigen Klassen und HTML-Codes kennst, letztlich jede Darstellung der Felder wählen, ohne direkt auf tabs zurückgreifen zu müssen (auf eine ui wie jquery oder die tabs-ui allerdings schon).
Mit Views:
Felder werden mit "Ausschließen" verborgen. Wenn die View die richtigen Argumente abgreift, müssten sie aber trotzdem in der View erscheinen. Probier am besten erst einmal, die view unformatiert auszugeben. Wenn es dann mit Tabs nicht klappt, liegt es daran. Aber dann kannst Du die View wie oben mit einer eigenen .tpl überschreiben - dann wär es wiederum egal, was Du an views-Modulen installiert hast, mit den entsprechenden Klassen, HTML-Markern und dem passenden js kannst Du alles aus den Feldern machen (draggable boxes, Ziehharmonika-Leisten, whatever).
Vorteil von Views: was genau abgefragt wird, lässt sich mit views natürlich leicht steuern, exportieren etc. Wenn Du nur in den Inhaltstypen bleibst, haste halt immer einen Wust aus Code (der bei handgeschriebenen view-tpl.phps aber natürlich auch anfällt). Ansonsten ists eher ne Stil- und eine Performance-Frage. Zu letzterem hab ich allerdings wenig Erfahrung.
Viel Spaß beim Testen,
Grüßle,
Phil
Hallo Phil, vielen Dank für
am 04.03.2010 - 16:26 Uhr
Hallo Phil,
vielen Dank für deine Hilfe. Bin schon fleißig am rumprobieren....das ein oder andere klappt zwar noch nicht ganz wie ich mir vorstelle, aber mit der Zeit wird wohl klappen. Wenn nicht, meld ich mich nochmal.
Danke!
Viele Grüße Phil