Wie ordne ich einen Inhaltstyp einem Block zu?
Eingetragen von ebbi97a@drupal.org (33)
am 21.07.2008 - 15:24 Uhr in
am 21.07.2008 - 15:24 Uhr in
Hier kommt meine 3. Anfängerfrage - dann sollte erst mal alles gehen:
Ich habe einen Inhaltstyp für kleine Textschnipsel definiert, die keine Artikel und Seiten sein sollen.
Das gewählte Theme hat eine breite und 2 schmale Spalten. Veröffentlichte Inhalte landen immer in der breiten Spalte. Die erwähnten Textschnipsel hätte ich aber sehr gerne in einer der beiden schmalen Spalten.
Ist folgende Denkweise Drupal-konform?
- Ich definiere einen Block,den ich in die eine schmale Spalte lege
- ich stelle eine Verknüpfung zwischen Inhaltstyp Schnipsel und Block Schnipsel her
- ich schreibe munter drauflos und die Schnipsel erscheinen antichronologisch in ihrer Spalte.
?
Das Problem: ich finde keinen Weg, eine Abbildung (Zuordnung) von Inhaltstyp und Block vorzunehmen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Views2 sollte dafür
am 21.07.2008 - 16:49 Uhr
Views2 sollte dafür reichen.
----------------------------------------
Alle Angaben ohne Gewähr!!:D
http://www.tobiasbaehr.de/
Ich hab's geahnt ;-)
am 21.07.2008 - 18:39 Uhr
... an views führt kein Weg vorbei.
Gestern habe ich den Modul schon in's entsprechende Verzeichnis kopiert, aber mich nicht getraut, ihn zu aktivieren. Beim Problem mit dem Verwaltungsmenü habe ich eine andere Lösung gefunden; aber jetzt wird es ernst ...
PHP Block-Sichtbarkeitseinstellungen
am 22.07.2008 - 06:30 Uhr
Habe gerade das gefunden:
http://drupal.org/node/60317
Das scheint des Pudels Kern (bzw. die Ursache des Problems und der Weg zur Lösung) zu sein.
Es hilft auch PHP nichts ...
am 22.07.2008 - 07:47 Uhr
Leider funktioniert es immer noch nicht, obwohl ich folgenden PHP-Code in die Sichtbarkeitsdefinition ganz unten am Block (seitenspezifische Sichtbarkeitseinstellung | PHP-Modus für Experten) eingefügt habe.
<?php
$match = FALSE;
$types = array('schnipsel' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
return $match;
?>
Einen Inhalt vom Inhaltstyp Schnipsel (interne Bezeichnung schnipsel) habe ich auch angelegt und veröffentlicht. Er wird aber nicht angezeigt und damit der ganze Block nicht. Der Block an sich scheint aber in Ordnung zu sein, denn mit einem als Inhalt eingefügten festen Text wurde er angezeigt und auch an der vorgesehenen Stelle in der schmalen Spalte.
Hast du bei den Modulen den
am 22.07.2008 - 08:33 Uhr
Hast du bei den Modulen den PHP Filter aktiviert und kannst grundsätzlich PHP ausführen?
!@+§*µ&><|~
am 22.07.2008 - 17:15 Uhr
Du hast mich kalt erwischt: der Modul PHPfilter war nicht aktiviert.
Mit den Rechten blicke ich noch nicht durch. Der Administrator sollte eigentlich keine brauchen, aber bei dem geht es auch noch nicht. Ich suche weiter.
Ab D6 muss man das explizit
am 23.07.2008 - 00:40 Uhr
Ab D6 muss man das explizit aktivieren. Was geht denn noch nicht? Das PHP von oben?
Sag mal, warum sperrst du dich so gegen views? Aktivier es doch mal + probier damit rum.
Damit kannst du Übersichten und Listen aller Art erstellen.
Block oder Seite...
Ist doch genauso grundlegend wie CCK.
views kapiere ich nicht
am 23.07.2008 - 07:20 Uhr
Ab D6 muss man das explizit aktivieren. Was geht denn noch nicht? Das PHP von oben?
Der Block wird nicht angezeigt, auch wenn es Inhalt gibt. Möglichweise habe ich bei meiner Probiererei in den ganzen Einstellungen an allen möglichen Stellen etwas verstellt.
Es gibt einen Inhalt vom Inhaltstyp, zu dessen Darstellung dieser Block geschaffen wurden und dieser Inhalt hat auch den Status veröffentlicht. Nachdem dann nichts ging habe ich Testweise ein das Eingabefeld namens Blockinhalt etwas hineingeschrieben; die Felder Blockbeschreibung und Blocktitel sind auch gesetzt. Der Block wird aber trotz Positionierung in den beiden benutzten Themes nicht mehr gezeigt, obwohl er das vor ein paar Tagen noch wurde, wenn Blockinhalt gesetzt war.
Sag mal, warum sperrst du dich so gegen views? Aktivier es doch mal + probier damit rum.
Ich sperre mich doch gar nicht - ich verstehe einfach nur Bahnhof. Finde keinen Zugang zum Konzept und weiß nicht, was ich an welcher Stelle eigentlich wollen darf und wollen soll. :-(
Von den Einstellmöglichkeiten erweckt das einen ziemlich mächtigen Eindruck, aber die Semantik erschließt sich mir nicht, eine Dokumentation (die das Benützungskonzept erklärt) habe ich nicht gefunden und den Quelltext kann ich nicht lesen (mangels PHP-Kenntnissen). Ich bin kein Profi-Entwickler, sondern wollte nur einem kleinen Verein zu einer flexiblen Online-Publikation verhelfen - quasi ehrenamtlich (ein zahlender Kunde hätte mich schon längst hinausgeschmissen).
liegt wohl am Snippet
am 23.07.2008 - 09:00 Uhr
Es gibt einen Inhalt vom Inhaltstyp, zu dessen Darstellung dieser Block geschaffen wurden und dieser Inhalt hat auch den Status veröffentlicht. Nachdem dann nichts ging habe ich Testweise ein das Eingabefeld namens Blockinhalt etwas hineingeschrieben; die Felder Blockbeschreibung und Blocktitel sind auch gesetzt. Der Block wird aber trotz Positionierung in den beiden benutzten Themes nicht mehr gezeigt, obwohl er das vor ein paar Tagen noch wurde, wenn Blockinhalt gesetzt war.
Mit hoher Wahrscheinlichkeit scheint es am PHP-Code (Snippets scheint man diese Dinger zu nennen) zu liegen.
Gerade habe ich den Snippet ganz herausgelöscht und nur einen festen Text im Inhalt gesetzt --> der Block erscheint wieder wo und wie er soll. Vielleicht habe ich mich doch irgendwo verschrieben. Jetzt werde ich es mit dem Standard-Inhaltstyp Artikel versuchen und nicht mit einem selber gebastelten.
Ergebnis:
Daran liegt es! wenn ich
$types = array('story' => 1);
schreibe ist der Block wieder gänzlich unsichtbar.Mein Tipp: Versuch das ganze
am 23.07.2008 - 10:12 Uhr
Mein Tipp:
Versuch das ganze erstmal ohne PHP zu lösen. Mittels Views Modul.
Ich dachte du hast es gar nicht installiert...
Leg dir deine Inhaltstypen entsprechend an + fülle sie zum Testen richtig mit Inhalt,
wie es später sein soll.
Seit D6 gibt es Views2 eine Anleitung zum Einstieg:
http://www.masteringdrupal.com/screencast/new-features-in-views2
Das hier bezieht sich auf Views1, ist bestimmt trotzdem hilfreich zum Grundverständnis:
http://www.drupalcenter.de/handbuch/6673
http://work.derhasi.de/buch/views-workshop
views2 kann ich nicht finden ...
am 23.07.2008 - 11:12 Uhr
Mein Tipp:
Das hier bezieht sich auf Views1, ist bestimmt trotzdem hilfreich zum Grundverständnis:
Vielleicht habe ich da den entscheidenden Fehler gemacht (habe ich mich schon weiter oben beim Vorschlag von
Spartacus
gefragt):einen Modul namens views2 kann ich nirgends finden; habe einfach views installiert in der Version
6.x-2.0-rc1
. Wo finde ich denn den richtigen Modul?Das ist schon das richtige
am 23.07.2008 - 11:13 Uhr
Das ist schon das richtige Modul.
Die 2 bezieht sich auf 6.x-2.0-rc1
im Gegensatz zu 5.x-1.6
Hi .. ich bin ja selbst
am 23.07.2008 - 11:15 Uhr
Hi .. ich bin ja selbst blutiger Anfänger, aber bei meinen Streifzügen bin ich auf folgenden View Workshop gestossen, habe mich noch nicht selbst dran gemacht, aber falls du ihn noch nicht kennst, ich glaube da sind einige coole Tipps zu CKK und VIEWS drin!
-------------------------------------
Öfter mal was neues ... warum nicht mal DRUPAL :-) Meinen "Drupal Kampf" als Anfänger schildere ich mal unter http://www.thoor.de
Danke, das ist der gleiche
am 23.07.2008 - 13:19 Uhr
Danke, das ist der gleiche Workshop, den Luzer um 11:12 auch vorgeschlagen hat. Habe ich auch schon reingeschaut, aber da muß man mindestens genauso viele Zeilen Code schreiben (kopieren?) wie es braucht, um das PHP-Snippet mit der anderen Methode zu aktivieren.
Jedenfalls muß ich das auch mal probieren; den Modul views werde ich sicher noch brauchen. Eine schnelle Lösung ist also nicht in Sicht und ich bin gespannt, womit ich letztendlich "Vollzug" melden kann.
welchen Code eintragen?
am 23.07.2008 - 22:50 Uhr
Jetzt bin ich soweit, daß ein View in einen Block geht und dieser Block sogar angezeigt wird.
Allerdings ist der Inhalt nicht das was ich will: es werden zwar nodes ausgegeben und sogar in voller Länge, jedoch ausgerechnet genau die Inhaltstypen, welche nicht schnipsel sind. Ich möchte das genaue Gegenteil: auschließlich schnipsel, aber alle.
Trotz der Hinweise auf erklärende Texte (vielen Dank!) steige ich aber immer noch nicht durch. Aber vermutlich kann mir jemand die Stelle sagen wo ich etwas eintragen muß (ist dieses Etwas PHP oder SQL? Ersteres kann ich nicht, letzteres kann ich). Der Snippet, den ich vorher bei den Experimenten mit der Inhaltsselektion per PHP vewrwendet hatte, liefert wieder nur die leere Ergebnismenge.
Dank an die views-Protagonisten!
am 24.07.2008 - 10:41 Uhr
Endlich hat es geklappt; in einer Nacht- und Nebelaktion habe ich mich durch die vielen undokumentierten Menüpunkte gequält und nach schier endlosem Probierereien konnte ich die wichtigsten enträtseln. Jetzt kommen die Textschnipsel
Einige Schönheitskorrekturen stehen noch aus und die Funktionalität vom Rest muß auch noch geglättet werden, aber das war der Durchbruch; der Hauptstolperstein ist aus dem Weg geräumt. Mit views werde ich mich sicher noch öfter befassen, denn mit den ganzen Versuchen und Irrwegen konnte ich den Geheimnisschleier doch ein wenig durchdringen und habe angefangen, das Konzept zu erahnen. Und das hat wirklich Potential.
Warum der PHP-Snippet für der PHP-Filter nicht funktioniert hat (ob der geklaute Code falsch angepaßt war, ob irgendwo ein Recht gefehlt hat — oder was auch immer) bleibt erst einmal im Dunkeln, wird sich aber wohl auch irgendwann enthüllen, wenn ich mehr Durchblick habe.