Wie kann man Felder des Feldtyps "Langer Text" als Text-Datei ausgeben?
am 16.05.2013 - 18:52 Uhr in
Hallo,
ich habe in einem Inhaltstyp namens "aufgaben" ein Feld mit dem Namen "aufgabe_text". Dieses Feld hat den Feldtyp "Langer Text". Da in diesem Feld
wirklich lange Texte stehen und die Nodes des Inhaltstyps "aufgaben" zahlreich sind, wäre die Verwendung des Feldtyps "Datei" anstatt "Langer Text" hier nicht
sinnvoll.
Ich möchte bei der Ausgabe einer Node des Inhaltstyps "aufgaben" erreichen, daß nicht der Inhalt des Feldes "aufgabe_text" angezeigt wird, sondern ein Link, auf den man
klicken kann und der dann die Möglichkeit eröffnet, den Inhalt des Feldes "aufgabe_text" in eine Datei zu speichern oder in einem Programm (z.B. einem geeigneten Editor)
zu öffnen.
Bisher konnte ich im Forum und allgemeiner per Google keine Lösung für dieses Problem finden. Wer sieht hier einen Lösungsansatz?
Vielen Dank schon mal fürs Nachdenken über eine Antwort!
- Anmelden oder Registrieren um Kommentare zu schreiben
Ehrlich gesagt verstehe ich
am 17.05.2013 - 10:33 Uhr
Ehrlich gesagt verstehe ich nicht was du meinst.
Falls du zu viele Felder hast, kannst du es ja auf Tabs verteilen:
http://drupal.org/project/field_group
WEBTRANSFORMER
Zu viele Felder?
am 17.05.2013 - 11:01 Uhr
Es geht, wie ich beschrieben habe, um ein Feld mit dem Feldtyp "Langer Text". Dies ist in der Drupal-Terminologie genau definiert. Dieses Feld enthält ziemlich lange Texte, deshalb habe ich diesen Datentyp auch dafür gewählt. Die Größe der Texte schwankt zwischen wenigen Kilobytes und etwa 10 MB.
Bei der Ausgabe einer Node auf dem Bildschirm muß man bei längeren Texten ziemlich lange Scrollen, um den gesamten Text zu erfassen und ihn ev. durch Kopieren mit der Maus in eine lokale Datei zu bekommen. Da wäre es einfacher, wenn man wie beim Datentyp "Datei" nur auf den Namen (oder Title) des Feldes klickt und dann den Inhalt direkt in eine lokale Datei downloaden kann.
Den Datentyp "Datei" kann ich aber nicht verwenden, da es tausende von Nodes (also "Sätzen" in der zugrundeliegenden MySQL-Datenbank) gibt. Im Falle des Datentyps "Datei" würde diese Vorgehensweise das Filesystem des Rechners belasten und die Performance würde mit Sicherheit nicht gut sein.
Im übrigen ist es schon lange bei den meisten SQL-Datenbanken üblich, lange Texte-felder in der Datenbank zu speichern. Meine Frage ist nur, ob es in Drupal eine Möglichkeit gibt, den Inhalt dieses Textfeldes in der oben beschriebenen Weise auszugeben.
Christian Winterhager
am 17.05.2013 - 11:15 Uhr
Dieses Feld enthält ziemlich lange Texte, deshalb habe ich diesen Datentyp auch dafür gewählt. Die Größe der Texte schwankt zwischen wenigen Kilobytes und etwa 10 MB.
Dafür ist langer Text aber trotzdem nicht gedacht. 10MB sind ganz schön viel für eine Textdatei.
Warum würde es die Performance belasten wenn man Dateien verwendet? Der Link zur Datei wird ja in der Datenbank gespeichert und nicht die Datei selbst.
WEBTRANSFORMER
Warum würde es die Performance belasten wenn man Dateien .....
am 17.05.2013 - 11:27 Uhr
Wenn man in einem Verzeichnis wie z.B. .../drupal/sites/default.... 20000 Dateien abspeichert, so ist nicht nur die Performance schlecht (weil die jeweilige Datei
ja auch gesucht und dann hochgeladen werden muß), sondern auch das Sichern und Wiederherstellen der außerhalb der MySQL-Datenbank liegenden Dateien
wird umständlicher. Genau deshalb haben ja alle großen Datenbanken binäre Objekte eingeführt wie z.B. Blobs und Text-Blobs (Oracle, Informix, Mysql, PostreSQL).
Eventuell kann man dir besser
am 17.05.2013 - 11:46 Uhr
Eventuell kann man dir besser helfen, wenn man weiß was du genau damit vorhast.
Ich bin kein Datenbanlexperte, aber dein jetziger Weg scheint mir auch nicht besser zu sein.
Unabhängig davon gibt es zB Backup & Migrate File Modul und Module wie File(path), wo die Unterverzeichnisse modifizieren kannst.
WEBTRANSFORMER
Goekmen schrieb Eventuell
am 17.05.2013 - 12:16 Uhr
Eventuell kann man dir besser helfen, wenn man weiß was du genau damit vorhast.
Ich bin kein Datenbanlexperte, aber dein jetziger Weg scheint mir auch nicht besser zu sein.
Unabhängig davon gibt es zB Backup & Migrate File Modul und Module wie File(path), wo die Unterverzeichnisse modifizieren kannst.
In den Nodes des Inhaltstyps namens "aufgaben" gibt es wie gesagt ein Feld mit dem Namen "aufgabe_text". Dieses enthält den Text einer Aufgabe, in diesem
Falle mathematische Aufgaben. Der Text besteht aus LaTeX-Quellcode und kann schon recht umfangreich werden. Die Anzahl der Aufgaben (also die Instanzen des
Inhaltstyps "aufgaben" bzw. Anzahl der Zeilen in der zugrundeliegenden Tabelle der Drupal/MySQL-Datenbank) geht in die Tausende. Ein Dateibaum mit mehr als
5000 Dateien ist ein klassischer Fall für eine Datenbank, weshalb mein Vorgehen in diesem Fall auch sinnvoll ist.
Für den Eigentümer der Node ist die Sache einfacher: er braucht nur auf "Bearbeiten" zu klicken und kann dann in dem Editor seiner Wahl das Feld
"aufgabe_text" bearbeiten bzw. komplett herauskopieren. Ein Nichteigentümer der Node, der keine Rechte des Bearbeitens hat und nur lesen darf,
soll aber die Möglichkeit haben, durch einfachen Klick den Text downzuloaden.
Christian Winterhager
am 17.05.2013 - 12:26 Uhr
Die Anzahl der Aufgaben (also die Instanzen des
Inhaltstyps "aufgaben" bzw. Anzahl der Zeilen in der zugrundeliegenden Tabelle der Drupal/MySQL-Datenbank) geht in die Tausende.
Was meinst du mit Instanzen? Kann man das Feld langer Text mehrfach benutzen oder nur 1x Feld pro Node?
WEBTRANSFORMER
Eventuell kann man mit Views
am 17.05.2013 - 12:33 Uhr
Eventuell kann man mit Views Data Export was erreichen.
Bau dir eine View mit Views Data Export. Als Kontext die Beitragsid aus der URL verwenden.
Nur das Aufgabenfeld ausgeben. Du kannst das Feld in folgende Felder verwandeln:
http://drupalmodules.com/module/views-data-export
WEBTRANSFORMER
Goekmen schrieb Christian
am 17.05.2013 - 12:34 Uhr
Die Anzahl der Aufgaben (also die Instanzen des
Inhaltstyps "aufgaben" bzw. Anzahl der Zeilen in der zugrundeliegenden Tabelle der Drupal/MySQL-Datenbank) geht in die Tausende.
Was meinst du mit Instanzen? Kann man das Feld langer Text mehrfach benutzen oder nur 1x Feld pro Node?
Mit Instanzen meinte ich das Auftreten einer Node dieses Inhaltstyps. Wenn ich z.B. 50 Aufgaben gespeichert habe, dann habe ich 50 Nodes des
Inhaltstyps "aufgaben" gespeichert. Statt "Instanzen" wäre es vielleicht besser von "Records" oder "Zeilen" der dahinterliegenden MySQL-Tabell zu sprechen.
Das Feld "aufgaben_text" darf immer nur einen Wert enthalten.
Siehe zwei Posts
am 17.05.2013 - 12:38 Uhr
Siehe zwei Posts drüber...damit müsste es gehen.
WEBTRANSFORMER
Views Data Export
am 18.05.2013 - 12:33 Uhr
Eventuell kann man mit Views Data Export was erreichen.
Bau dir eine View mit Views Data Export. Als Kontext die Beitragsid aus der URL verwenden.
Nur das Aufgabenfeld ausgeben.
Danke für diesen interessanten Tip. Ich habe ihn angewendet und leider immer noch ein Problem. Ich bin folgendermaßen vorgegangen:
Als erstes habe ich diesen Modul "Views Data Export" installiert.
Danach habe ich einen View mit dem Namen "daten-expoert" erstellt, der als "Display" ausschließlich über den Typ
"Data export" verfügt. Bei den "Data Export details" habe ich als Format "TXT File" ausgewählt.
Dann habe ich das Feld "aufgabe_text" (dessen Inhalt ich ja als Datei ausgeben möchte) unter dem bereich "Fields" dem View hinzugefügt.
Als "Contextual filters" habe ich gewählt: "Inhalt: Nid".
Bei der Konfiguration dieses "Contextual filters" habe ich noch " Specify validation criteria " angekreuzt. Daraufhin kann man
eine "Validator " auswählen, und für diesen Validator habe ich "Inhalt" ausgewählt und für diesen Inhalt dann den Inhaltstyp "aufgaben",
also jenen Inhaltstyp, in dem mein Feld "aufgabe_text" gespeichert wird.
Leider gibt dieser View aber immer das Feld "aufgabe_text" für ALLE existierenden Nodes des Inhaltstyps "aufgaben" aus, ich will diese Ausgabe aber nur für einen bestimmten Satz (bzw. Node) haben.
Also habe ich ein Feld mit dem Feldtyp "Link" in meinen Inhaltstyp "aufgaben" eingefügt und diesen Link auf den eben erstellten View "daten-export" zeigen lassen. Wenn ich jetzt einen Node des Inhhaltstyps "aufgaben" anzeigen lasse, so kann ich auch auf das Feld "Link" klicken und kann problemlos den Text in einen Datei herunterladen, aber:
es ist immer der Text aller Felder sämtlicher Nodes dieses Inhaltstyps.
Die Frage ist eigentlich nur, wie ich dem View beibringen kann, daß er in seinem Datenbank-SELECT-Statement eine WHERE-Klausel einfügt mit der Bedingung
WHERE node-id = diejenige des Nodes, in welchem ich auf den "link" geklickt habe.
Ich habe das dumpfe Gefühl, daß man das irgendwie mit den Contextual filters machen kann, aber ich weiß nicht, welches der Felder man dort sinnvollerweise
hinzufügen sollte. Das Hinzufügen des Feldes "Inhalt: Nid" hat jedenfalls nicht den gewünschten Effekt gehabt.
Probier mal
am 18.05.2013 - 12:41 Uhr
Probier mal folgendes:
Contextual Filters:
Inhalt: Beitrags-ID
--> Vorgabewert bereitstellen:
----> Beitrags-ID aus der URL
Und die Seitennavigation einfach auf 1 Objekt stellen
WEBTRANSFORMER
Goekmen schrieb Probier mal
am 18.05.2013 - 12:58 Uhr
Probier mal folgendes:
Contextual Filters:
Inhalt: Beitrags-ID
--> Vorgabewert bereitstellen:
----> Beitrags-ID aus der URL
Und die Seitennavigation einfach auf 1 Objekt stellen
Oh, danke für die schnelle Reaktion. Das Problem ist wohl, daß meine Drupal-Version einen Mischmasch aus englischen und deutschen Anweisungen enthält.
Ich kann jedenfalls bei der Auswahl der Contextual Filters kein "Inhalt: Beitrags-ID" entdecken. Das einzige, was dem in etwa entsprechen könnte, ist das, was ich oben schon beschrieben hatte:
Als "Contextual filters" habe ich gewählt: "Inhalt: Nid".
Eine Option "Vorgabewert bereitstellen" bereitstellen kann ich auch nicht entdecken. Möglicherweise kommt dem wieder folgendes nahe:
When the filter value IS in the URL or a default is provided
Und, wie ich schon oben geschrieben hatte:
Bei der Konfiguration dieses "Contextual filters" habe ich noch " Specify validation criteria " angekreuzt. Daraufhin kann man
eine "Validator " auswählen, und für diesen Validator habe ich "Inhalt" ausgewählt und für diesen Inhalt dann den Inhaltstyp "aufgaben",
also jenen Inhaltstyp, in dem mein Feld "aufgabe_text" gespeichert wird.
Goekmen schrieb Probier mal
am 18.05.2013 - 13:23 Uhr
Probier mal folgendes:
Contextual Filters:
Inhalt: Beitrags-ID
--> Vorgabewert bereitstellen:
----> Beitrags-ID aus der URL
Und die Seitennavigation einfach auf 1 Objekt stellen
Auch die Seitennavigation habe ich auf 1 Objekt gestellt. Dann wird in der Tat nur ein Node bei der Ausgabe berücksichtigt,
und das ist immer der erste Node des Inhaltstyps, aber leider eben nicht derjenige, den ich über den "Contextual Filter"
angewählt habe.
Drupal macht einfach einen "SELECT aufgabe_text FROM aufgaben" ohne eine anschließende WHERE-Klausel. Die Frage ist:
wie kann man einem View eine Node-ID übergeben, so daß er sie in seinem SELECT-Statement auch berücksichtigt? Mit dem EVA-Modul geht
das sehr schön, aber der hat keine Möglichkeit des Datenexports...
Auf englisch müsste es so
am 18.05.2013 - 13:30 Uhr
Auf englisch müsste es so heißen
Content: Nid
--> Provide default value
und dann: Content ID from URL
Das ist sehr wichtig denn so ermittelt die View die aktuelle Beitrags/NID. Ohne das wird es nicht funktionieren.
WEBTRANSFORMER
Goekmen schrieb Auf englisch
am 18.05.2013 - 13:52 Uhr
Auf englisch müsste es so heißen
Content: Nid
--> Provide default value
und dann: Content ID from URL
Das ist sehr wichtig denn so ermittelt die View die aktuelle Beitrags/NID. Ohne das wird es nicht funktionieren.
ja, das hatte ich auch schon ausprobiert. Dann kommt ein SQL-Fehler:
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db466913877.views_data_export_index_27' doesn't exist: SELECT COUNT(*) FROM {views_data_export_index_27}; Array ( ) in views_data_export_plugin_display_export->execute_initial() (Zeile 248 von /homepages/15/d466397277/htdocs/drupal/sites/all/modules/views_data_export/plugins/views_data_export_plugin_display_export.inc).
Es muß irgendwie mit dem Aufruf des Views zusammenhängen. Denn bei diesem Aufruf bekommt der View ja diese Node-URL übergeben - oder sollte es zumindest.
Die Frage ist also, wie man aus der Node heraus den View aufruft! Ich habe das, wie oben schon beschrieben, über ein Link-Feld gemacht, aber dieses Link-Feld ruft
nur die URL "daten-export" auf, also den Namen des Views, der gleichzeitig auch seine URL ist. Anscheinend wird dem View dabei aber nicht die URL des ihn aufrufenden Nodes
übergeben.
Kann man bei der Angabe der URL für das Feld "Link" im Inhaltstyp "aufgaben" statt "daten-export" auch so etwas wie "daten-export/%nid" oder so schreiben?
Oder siehst du eine andere Möglichkeit, diesen ja schon funktionierenden View aus der Node "aufgaben" heraus aufzurufen? Für den Anwender wäre es ja nur sinnvoll, wenn er eine
Node des Inhaltstyps "aufgaben" mit deren Feldern auf dem Bildschirm sieht, dann auch irgendwo auf einen Link oder Button zu klicken, der ihm den View "daten-export" aufruft!
Es gibt hier mehrere
am 18.05.2013 - 14:14 Uhr
Es gibt hier mehrere Wege...
Hier ein Vorschlag:
Installiere: Insert View
http://drupal.org/project/insert_view
Erstelle ein neues Textfeld in deinem Content Typ und packe es unter die Aufgabe (oder wo auch immer).
Dann den Code von Insert View reinpacken und deine View-Daten benutzen:
[view:my_view=my_display]
In den Textformat Filtern Insert View aktivieren.
So hast du deine View auch auf der Seite wo die Aufgabe ist.
Ich kann dir leider nicht genau sagen ob alles richtig in deiner View eingestellt ist. Bei einigen Punkten kann ich dir nicht ganz folgen.
In Views gibt es aber unten ein Textfeld wo man die View direkt testen kann bzw. eine BeitragsID selber eintragen. Dann kannst du dort schon mal sehen ob was angezeigt wird.
WEBTRANSFORMER
Goekmen schrieb Es gibt hier
am 18.05.2013 - 14:24 Uhr
Es gibt hier mehrere Wege...
..........
In Views gibt es aber unten ein Textfeld wo man die View direkt testen kann bzw. eine BeitragsID selber eintragen. Dann kannst du dort schon mal sehen ob was angezeigt wird.
Danke für die Tips, werde das gleich mal ausprobieren. bei dem Testfeld ganz unten steht:
Preview with contextual filters:
Dorthabe ich mal die Node-Ids verschiedener Nodes des Inhaltstyps "aufgaben" eingegeben. Der View scheint dann auch zu funktionieren, aber er zeigt nur die
Überschrift eines Feldes (also des Textfelds) an, der Inhalt fehlt leider.
Ich werde jetzt aber erst mal diesen zweiten Weg probieren: http://drupal.org/project/insert_view
Insert View Vorschlag
am 18.05.2013 - 23:03 Uhr
Es gibt hier mehrere Wege...
Hier ein Vorschlag:
Installiere: Insert View
http://drupal.org/project/insert_view
Erstelle ein neues Textfeld in deinem Content Typ und packe es unter die Aufgabe (oder wo auch immer).
Dann den Code von Insert View reinpacken und deine View-Daten benutzen:
[view:my_view=my_display]
Bei dieser Methode besteht nach wie vor das Problem, wie man an den View die Node-ID desjenigen Nodes übergibt, der das Feld enthält, dessen Inhalt letztendlich als Datei
heruntergeladen werden soll. Im README des Insert View Moduls steht zwar die Syntax für die Eingabe:
[view:my_view]
[view:my_view=my_display]
[view:my_view=my_display=arg1/arg2/arg3]
[view:my_view==arg1/arg2/arg3]
Aber die Frage besteht dann immer noch: wie schreibt man die aktuelle Node-ID in das Argument hinein?
Z.B. so: [view:daten-export==34] ??? Aber das führt z.B. zu überhaupt keiner Ausgabe, es wird dann nur der Titel des Feldes mit dem Textformat "Insert View" ausgegeben.
Auch wenn man "==34" wegläßt, wird der View überhaupt nicht ausgegeben.
Gibt man in der View-Definition (Struktur -> Views -> View "daten-export" ) ganz unten aber bei den "Preview with contextual filters: " den Wert 34 ein und klickt auf Update preview, so arbeitet dieser Datenexport-View erfreulicherweise korrekt. Er gibt auch alles korrekt aus , wenn ich seine URL in der Browserzeile direkt eingebe:
http://blabla/drupal/?q=date-export/34
Die Frage, die es eigentlich nur noch zu lösen gilt, lautet daher: wie bekomme ich die Node-Id (oben die 34 z.B.) des Nodes, den ich gerade aktuell auf dem Bildschirm ausgegeben habe,
in den Aufruf (nur in den Aufruf, nicht in irgendwelche Filter oder Felder des Views!) des Datenexport-Views
http://blabla/drupal/?q=date-export/34
hinein???? Wüßte ich das, so könnte ich diesen Wert dann ja als Default-Wert in ein Feld vom Feldtyp "Link" schreiben und hätte damit alles gelöst.
Contextual Filters mit
am 19.05.2013 - 00:41 Uhr
Contextual Filters mit Vorgabewert: BeitragsID aus der URL
Du musst da nichts weitermachen, wenn die View aktiv ist auf der Seite. Views ermittelt selber die Beitrags-ID.
Da ist egal was oben in der URL steht. Views weiß Bescheid:
Du kannst bei den Feldern zB auch noch die BeitragsID ausgeben und die Ausgabe unterdrücken.
Dann ein weiteres Globales Benutzerdefiniertes Feld erstellen und die Ausgabe selber schreiben.
Du kannst das [nid] Pattern benutzen. Views setzt dann automatisch die aktuelle Beitrags-ID rein.
WEBTRANSFORMER
10MB plain text?
am 19.05.2013 - 08:16 Uhr
Wer soll das lesen?
Das zu laden, dauert ja schon ewig.
10 MB plain text entspricht einem kompletten Buch mit mehr als 2000 Seiten.
Einige WEB-Sites sind nicht größer.
Das Format "TEXT" in mySQL kann bis zu 64 KB aufnehmen.
Das sollt für jede normale Anwendung ausreichen.
Ansonsten muss der Text eben lokal geschrieben und gelesen, und tatsächlich per Up-/Download transportiert werden.
Selbst ein Buch würde man in Kapitel und Abschnitte zerlegen, um es dann Abschnitt für Abschnitt zu laden.
Der Inhalt muss ja auch noch pflegbar bleiben.
Grüße
Ronald
Goekmen schriebContextual
am 19.05.2013 - 15:23 Uhr
Contextual Filters mit Vorgabewert: BeitragsID aus der URL
Du musst da nichts weitermachen, wenn die View aktiv ist auf der Seite. Views ermittelt selber die Beitrags-ID.
Da ist egal was oben in der URL steht. Views weiß Bescheid....
Du kannst bei den Feldern zB auch noch die BeitragsID ausgeben und die Ausgabe unterdrücken.
Dann ein weiteres Globales Benutzerdefiniertes Feld erstellen und die Ausgabe selber schreiben.
Du kannst das [nid] Pattern benutzen. Views setzt dann automatisch die aktuelle Beitrags-ID rein.
Danke für diese Tips. Das, was du im ersten eingescannten Bild gemacht hast, habe ich bei mir genauso gemacht. Ich hatte
zunächst bei diesen "Contextual Filters" das Feld "Inhalt: Nid (The node ID)" eingefügt, habe aber gesehen, daß du ein anderes Feld
genommen hast, nämlich " Content revision: Nid". Das habe ich dann auch genommen und die in deinem Image angezeigten Parameter
genauso eingetragen.
Aus deinen Ausführungen habe ich dann geschlossen, daß danach ein Aufruf der Form "http://blabla/q?=daten-export" dem View die richtige NID übermitteln würde, nämlich diejenige des gerade auf dem Bildschirm angezeigten Nodes des Inhaltstyps "aufgaben". Und zwar ohne das Anhängen von "[nid]". Wie immer man es auch macht, ob aus einem Link-Feld im Inhaltstyp "aufgaben", in welchem man den String
< a href="http://blabla/?q=daten-export"> Download%lt;/a> eingetragen hat oder direkt in der Browser-URL-Zeile (was zugegebenermaßen nicht besonders sinnvoll ist), es kommt immer nur ein SQL-Fehler heraus:
PDOException: SQLSTATE[42S02]: Base table or view not found:.....
Ich habe dann, so wie du es empfohlen hast im zweiten Teil deiner letzten Mail, ein "benutzerdefiniertes Textfeld" erstellt
und dieses dann mit dem erweiterten Aufruf incl "[nid]" gefüllt:
< a href="http://blabla/?q=daten-export/[nid]"> Download < /a>
Ich muß dazu allerdings sagen, daß ich nicht weiß wo (also in welchem inhaltstyp) dieses neue Feld eigentlich erstellt werden sollte.
Ich habe es einfach in den Inhaltstyp "aufgaben" hineingenommen. Außerdem hattest du geraten, die "Beitrags-ID" bei den Feldern auszugeben und ihre Ausgabe zu unterdrücken. Ich gehe davon aus, daß du gemeint hast, das Feld "Inhalt: Node ID" in den View "daten-export" zusätzlich aufzunehmen.
Das habe ich dann auch gemacht, und passiert ist dann folgendes:
< a href="http://blabla/?q=daten-export/[nid]"> Download < /a>
Leider ist diese Textdatei aber leer! Immerhin.....
Goekmen schriebDu kannst bei
am 19.05.2013 - 16:47 Uhr
Du kannst bei den Feldern zB auch noch die BeitragsID ausgeben und die Ausgabe unterdrücken.
Dann ein weiteres Globales Benutzerdefiniertes Feld erstellen und die Ausgabe selber schreiben.
Du kannst das [nid] Pattern benutzen. Views setzt dann automatisch die aktuelle Beitrags-ID rein.
Anscheinend hast du mit diesem "Globales Benutzerdefiniertes Feld" tatsächlich ein neues Feld in dem
View "daten-export" gemeint. Dort findet man auch die von dir angegebenen Syntax-Erweiterungen,
z.B. "[nid] == Inhalt: Nid".
Nur: warum sollte ich erst in diesem View ein Feld mit einem Link einbauen,
der auf ihn selbst verweist? Davon hätte ich keinen Nutzen. Ich brauche diesen Link ja ein Stufe oben drüber bei dem Node des Inhaltstyps "aufgaben".
Der Sinn des Views "daten-export" ist ja, den gesamten Text eines langen Textfeldes dem Benutzer über
den Download in eine Datei zugänglich zu machen, und nicht eine Zeile mit mehreren Feldspalten auszugeben
(wie es üblicherweise Views ja auch machen).
Wenn es auf Inhaltstyp-Ebene ebenfalls die Möglichkeit gäbe, ein Feld mit diesen zusätzlichen Syntax-Erweiterungen
( wie etwa "[nid] == Inhalt: Nid" ) anzulegen, wäre meine Aufgabe sicher gelöst....
Ich glaube dir fehlen noch
am 19.05.2013 - 16:58 Uhr
Ich glaube dir fehlen noch ein paar Kenntnisse in Views bzw. wir reden etwas einander vorbei.
Hier noch mal eine kurze Erläuterung. Das ist mein Weg, es gibt sicherlich noch andere Lösungswege.
< a href="http://blabla/?q=daten-export/[nid]"> Download < /a>
Ich schaue es mir auch gerne mal an wenn du willst. Ansonsten wird es mit der Schreiberei etwas zu viel.
WEBTRANSFORMER
Vorgehensweise
am 19.05.2013 - 18:08 Uhr
Ich glaube dir fehlen noch ein paar Kenntnisse in Views bzw. wir reden etwas einander vorbei.
Hier noch mal eine kurze Erläuterung. Das ist mein Weg, es gibt sicherlich noch andere Lösungswege.
< a href="http://blabla/?q=daten-export/[nid]"> Download < /a>
Ich schaue es mir auch gerne mal an wenn du willst. Ansonsten wird es mit der Schreiberei etwas zu viel.
Tja, das habe ich alles so gemacht, aber es sind noch sehr viele Fragen vom Typ "was bedeutet es, wenn du sagst..." zu klären.
Wie könnte man es machen, daß du Zugriff auf die Seite bekommst? Per E-Mail Passwort verschicken?
Die Seite ist:
http://math-lib.de/drupal/?q=node/18 (das ist ein typischer Aufgaben-Node)
Kannst du mir mailen an
am 19.05.2013 - 18:46 Uhr
Kannst du mir mailen an kontakt@webtransformer.de
Heute schaffe ich es zeitlich nicht, aber morgen könnte ich mal reinschauen.
WEBTRANSFORMER
PS: Ich brauche vollen
am 19.05.2013 - 19:27 Uhr
PS: Ich brauche vollen Adminzugriff, ansonsten kann ich kaum was machen bzw. der Ursache auf den Grund gehen.
WEBTRANSFORMER
geht jetzt
am 19.05.2013 - 19:45 Uhr
Müßte jetzt eigentlich funktionieren!
Okay...ist alles etwas
am 19.05.2013 - 20:31 Uhr
Okay...ist alles etwas komplizierter geworden, aber unter der Aufgabe ist jetzt ein Download Link.
Hier und da muss man noch einiges machen, aber es scheint zu funktionieren.
Der Download ist ein Block, kannst du auch woanders hin schieben.
WEBTRANSFORMER
Donnerknall
am 19.05.2013 - 20:45 Uhr
Ich schaus mir mal an, ob ich es verstehe. Ich werde mir aber wohl doch mal ein Buch über Views kaufen müssen. Ich komme von der Datenbank-Seite (Informix) her und habe
im Berufsleben natürlich viel mit SQL-Views zutun gehabt, auch bei MySQL ist das Thema ziemlich einfach. Drupal ist allerdings eine höhere Zugriffsschicht mit einer ganz eigenen Sprache,
da muß man sich erst mal dran gewöhnen.
Es gibt hier: http://www.amazon.de/Drupal-Views-Cookbook-Ayen-Green/dp/1849514348/ref=sr_1_1?ie=UTF8&qid=1368992577&sr=8-1&keywords=drupal+views
ein Buch über Views. Kennst du das zufällig? Scheint mir recht ausführlich zu sein, und als E-Book für 13 Euro auch preiswert!
Ich kenne das Buch nicht, es
am 19.05.2013 - 21:02 Uhr
Ich kenne das Buch nicht, es macht aber einen guten Eindruck.
Im Moment werden auf deiner Seite 2 verschiedene Views verwendet.
Die erste für den Export und die zweite View um einen Download Block mit der aktuellen BeitragsID zu erzeugen.
Den Dateinamen etc. des Downloads kannst du anpassen, aber das wäre dann jetzt doch zu komplex.
Du kannst den Block auch über den Inhalt oder in ein Seitenblock packen.
WEBTRANSFORMER
Aha!
am 19.05.2013 - 21:31 Uhr
Und ich suche die ganze Zeit, wie Goekmen bloß diesen Block erzeugt hat.... Klar, jetzt sehe ich auch, daß da ein 2.View
aufgaben-export-block existiert, den werde ich mir noch ansehen. Nochmals vielen Dank für die Hilfe!