Nodereference-Feld: Views verwenden
am 01.09.2009 - 11:33 Uhr in
Hallo zusammen,
ich habe beim Inhaltstyp ein Nodereference-Feld (Beitragsverweis) hinzugefügt, um andere Inhalte anhängen zu können. Dafür habe als Widget (Steuerelement) "Ankreuzfelder/Auswahlknöpfe" gewählt, da ich es den Usern nicht zumuten möchte, sich erst den Inhalt zu merken und ihn dann dort in das Textfeld einzutragen.
Nun ist es allerdings so, dass mit steigender Anzahl der Inhalte, die referenziert werden können, auch die Liste mit den Ankreuzfeldern immer länger wird. Gibt es eine Möglichkeit, die Liste über mehrere "Seiten" zu verteilen, die via AJAX umgeblättert werden können?
Ich habe schon entdeckt, dass ganz unten bei der Feldkonfiguration die Möglichkeit besteht, eine View zu verwenden "Erweitert - Beiträge, auf die referenziert werden kann (Ansicht)". Wenn ich dort Beiträge pro Seite und Seitennavigation konfiguriere, wird dies jedoch im Inhaltserstellungs-Formular ignoriert - dort wird immer noch die komplette Ankreuzliste auf einer Seite angezeigt.
Hat jemand für dieses Problem schon mal eine Lösung gefunden?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ajax ist da der falsche
am 01.09.2009 - 12:03 Uhr
Ajax ist da der falsche Ansatz, da nicht jeder JavaScript aktiviert hat. Falls du Javascript kannst, kannst du aber einen Teil der Nodes ausblenden und mittels eines Pagers verfügbar machen. Oder du steigst auf Auswahllisten um. Falls du PHP kannst könntest du auch CCK Node Reference ASM Select auf Drupal-6 portieren.
--
Vielen Dank für die
am 01.09.2009 - 12:20 Uhr
Vielen Dank für die schnelle Antwort.
Ich verwende auf der kompletten Seite AJAX und möchte es hierfür auch benutzen.
Falls du Javascript kannst, kannst du aber einen Teil der Nodes ausblenden und mittels eines Pagers verfügbar machen.
Wie meinst Du das? Bei mir blendet der keine Nodes aus. Ich habe im Moment eingestellt, dass 10 Beiträge pro Seite angezeigt werden sollen und ein kleiner Pager aktiviert ist. Das Problem ist, dass diese Einstellungen komplett ignoriert werden. Bei der Inhaltserstellung werden immer noch alle Nodes angezeigt.
Die Auswahlliste wäre die Notlösung, die allerdings nicht so komfortabel wäre und nicht so schön aussehen würde.
Falls du PHP kannst könntest du auch CCK Node Reference ASM Select auf Drupal-6 portieren.
Ich weiß, dass es solche Widgets gibt, z.B. http://drupal.org/project/nodereference_explorer - ich wollte diese jedoch vermeiden und lieber eine Lösung über Views erzielen.
Traxer, du empfiehlst ASM
am 01.09.2009 - 12:20 Uhr
Traxer, du empfiehlst ASM Select und sagst, Javascript sei der falsche Ansatz? Hmm, da stimmt doch was nicht :-)
Ich nutze meistens die Drop-Down Listen von Nodereference direkt. Wenn mehrere Nodes referenziert werden müssen, nutze ich entweder Multiselect [1] oder Node Relationships [2]. Letzteres ist sehr mächtig und nutzt Views in einem Popup, um nach geeigneten Nodes suchen, sortieren und blättern zu können. Man muss da immer ein wenig zwischen Einfachheit und Mächtigkeit abwägen. Die meisten Kunden wollen erst das erstere und merken dann aber (wenn sie versierter sind), dass sie gerne mehr hätten. :-)
ciao, Ronald
[1] http://drupal.org/project/multiselect
[2] http://drupal.org/project/noderelationships
Reinblau eG
no2x schrieb ...ich wollte
am 01.09.2009 - 12:25 Uhr
...ich wollte diese jedoch vermeiden und lieber eine Lösung über Views erzielen.
Die Views-Einstellung im Nodereference Feld wirkt sich nur auf die selektierten Daten aus. Nicht aber auf deren Darstellung und Pagermöglichkeit. "Lediglich" die Menge insgesamt, den angezeigten Titel und die Reihenfolge kannst du so ändern.
ciao, Ronald
--
www.drupalizers.de
Reinblau eG
Ajax ist der falsche Ansatz, nicht Javascript.
am 01.09.2009 - 13:03 Uhr
Traxer, du empfiehlst ASM Select und sagst, Javascript sei der falsche Ansatz? Hmm, da stimmt doch was nicht :-)
Ich habe nicht gesagt, das JavaScript der falsche Ansatz ist. Ajax ist der falsche Ansatz. Um ohne Javascript auszukommen müssen alle Optionen im HTML an den Client übertragen werden (sei es als Auswahlkästchen oder in einer Select-Liste). Dann macht aber Ajax keinen Sinn. Ajax würde nur dann Sinn machen, wenn Optionen dynamisch vom Server nachgeladen werden würden. JavaScript macht Sinn, weil die meisten Leute es aktiviert haben. Es gibt also keinen Grund, denen nicht ein einfacher zu bedienendes GUI anzubieten. Das kann dann mit Javascript ohne Ajax erfolgen.
--
Hallo Ronald, Zitat: Die
am 01.09.2009 - 13:26 Uhr
Hallo Ronald,
Die Views-Einstellung im Nodereference Feld wirkt sich nur auf die selektierten Daten aus. Nicht aber auf deren Darstellung und Pagermöglichkeit.
Besten Dank für die Info. Genau das wollte ich wissen. Das ist natürlich sehr schade, da nun eine Views-only Lösung ins Wasser fällt und ein zusätzliches Widget her muss.
Wenn mehrere Nodes referenziert werden müssen, nutze ich entweder Multiselect [1] oder Node Relationships [2].
Mehrere Nodes können auch ohne zusätzliches Widget referenziert werden (z.B. Textfeld mit Autovervollständigung oder auch der Auswahlliste), allerdings mit weniger Komfort.
Node Relationship hört sich interessant an - was mich allerdings stutzig macht ist die Beschreibung auf der Projektseite:
"The Node Relationships module provides methods to complete two way relationships between content types enhancing the features of node reference fields."
Denn was wir hier haben, ist doch eine one way relationship, oder?
Ich kenn mich leider nicht mit der Vielzahl der Widgets aus. Wäre da nicht der Nodereference Explorer (http://drupal.org/project/nodereference_explorer) sinnvoller?