user soll neuen Inhalt erstellen können mit vordefiniertem Inhalt aus einem node
Eingetragen von lordhenni (5)
am 27.10.2015 - 23:13 Uhr in
am 27.10.2015 - 23:13 Uhr in
Liebe Community,
ich habe einen inhaltstyp in dem bestimmte Events vorgestellt werden. Die Darstellung ist toll, soweit gut. Ich möchte eine Schaltfläche hinzufügen, die dem User auf einen Node Event erstellen Seite weiterleitet. Das klappt auch.
Ich möchte aber, dass die neue Seite erstellen aufgerufen wird und vorgefüllt wird mit teilen des Inhalts der vorherangesehenen Inhalts (node).
Wie kann ich das machen.
Ziel ist es, einen Inhalt als eventdatum in einen persönlichen Kalender einzutragen.
Danke und liebe Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben
Nochmal zum Verständnis
am 28.10.2015 - 08:32 Uhr
Der Anwender erstellt einen Node, und soll gleichzeitig damit einen zweiten Node erstellen, der die Kerndaten enthält, und ein Event für den Kalender darstellt?
Oder wo kommen die Kerndaten her?
Schau dir mal rules an.
Die andere Frage ist natürlich, warum nicht ein Referenz, oder einfach eine andere View?
Entity_API, entity_reference, inline_reference_form?
Grüße
Ronald
Hallo, derr node mit der
am 28.10.2015 - 13:06 Uhr
Hallo,
derr node mit der Information existiert und wird bereitgestellt. In dieser Node ist ein link, damit der angemeldete benutzer enen neuen Event-Node erstellen kann. In dieser Event-Node sollen nun die Feldtypen vorgefüllt werden mit dem Inhalt aus der ursprünglichen node. Da steht z.B. ein Datum mit Uhrzeitdrin und die Beschreibung,
Ich probiere ein wenig rum mit der i()function, rules und entity. Leider bin ich noch nicht auf eine Lösung gekommen.
LG
Das Modul prepopulate leistet
am 28.10.2015 - 13:45 Uhr
Das Modul prepopulate leistet das, was du haben möchtest. Du musst dir (z.B.mit Views) einen "Button" basteln, der die Daten aus dem Event-Node zu einer node/add URL zusammenbaut.
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!
super tip aber ...
am 28.10.2015 - 15:14 Uhr
Hallo,
danke prepopulate ist ein super tip und kommt der Sache sehr nahe
http://www.example.com/node/add/blog?edit[title]=this is the title
Ich habe jetzt meiner event node den tile=this is the title übergeben. Aber ich möchte ja nicht einen festen Wert übergeben, sondern den title der ursprünglichen node. Wie kann ich denn die variable übergeben?
LG
Das habe ich doch oben
am 30.10.2015 - 14:41 Uhr
Das habe ich doch oben geschrieben: Mit einer View.
Fertig.
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!
puh
am 31.10.2015 - 14:47 Uhr
Also erstmal vielen Dank für den Hilfeversuch. Ich bin doch Einsteiger und konnte deinem advanced tip nicht Folgen,
Ich habe folgendes mit prepopulution geschafft.
node/add/event?edit[body][und][0][value]=hier steht der body&edit[title]=
<?php
print drupal_get_title();
?>
Mittels der Funktion php print drupal_get_title(); konnte ich via php den Titel der Seite auslesen und der neuen Node erfolgreich übergeben. Jetzt fehlt nur noch eine Funktion für den Body, bzw. die Zugriffsmöglichkeit auf die Variable.
Einer eine Idee?
---------------------------------------------
Das mit den Views habe ich nicht verstanden wie das gehen soll. Wie kann ich einer
1) Wie kann ich einer View eine Node ID übergeben? Ich habe mit node_reference bei meinem Inhaltstypen eine Referenz auf den anderen Inhaltstypen angegeben, komme damit aber auch nicht wirklich weiter
2) Die View mit den Felder habe ich erstellt und die auch "Exclude from display as hidden" makiert
3) Du meinst den prepoplution link???
4) Wie soll eine node eine view anlegen können? Wie kann ich eine View referenzieren? Ich kann mit Contextual filters auf "Inhalt: Nid" verweisen und mir die holen und dann?
Das mit den Argumenten habe ich nich raus beim View, die habe ich gar nicht oder ist das jetzt der Contextual filter???
Also ich bin schon sehr verwirrt. Kannst du hier genauer werden?
LG
View ist ein absolut
am 31.10.2015 - 17:00 Uhr
View ist ein absolut essentielles Modul beim Arbeiten mit Drupal. Ich behaupte sogar, es ist das Alleinstellungsmerkmal. Bis man damit richtig umgehen kann dauert es ein Weilchen, aber es lohnt den Aufwand. Hier findest Du eine Tutorialserie mit 30 Videos zum Umgang mit Views https://www.wunderkraut.se/blogg/taming-beast-learn-views-wunderkraut.
Das solltest Du in einer lokalen Installation mal durchspielen (mindestens bis zum 20. Video). Danach weißt Du, was mit Views alles möglich ist und verstehst auch was Wilfried gemeint hat als er schrieb, Du solltest Dir den Link mit einem View, dem Du die Node-ID übergibst, zusammenbauen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
?!?!? bischen schlauer
am 02.11.2015 - 23:24 Uhr
Hey Danke für den Tip mit den Videotutorial. Ich habe Sie mir bis auf die letzten paar alle reingezogen und vorher hatte ich auch schon welche auf youtube gesehen.
Ich konnte jetzt mit prepopulate den link zusammenbauen und den body habe ich hiermit ausgelsen
edit[body][und][0][value]=
<?php
$nid = arg(1);
$node = node_load($nid);
$node_content = $node->body;
echo ($node->body[und][0][value]);
?>
Aber irgendwie klappt das auch nicht immer richtig und wenn Sonderzeichen kommen bricht er ab, weil er diese dann umwandelt und als Code dann interpretiert.
Also der Body und Titel einer node soll in eine andere node/add/event überführt werden. Mit PHP und prepopulate wurde das wie beschrieben schlecht gelöst. Mit der VIEW-Thematik komme ich einfach nicht weiter.
Ich habe die VIEW wie beschrieben erstellt und ein ein Custom Field erzeugt -> Global: Custom text. Ich kann die Werte BODY und Tile zusammenbasteln oder auch versuchen einen entsprechenden Link daraus zu basteln
<a href="http://www.xxx.de/node/add/event?edit[body][und][0][value]=[body]&edit[title]=[title]">LINK</a>
Aber der Link wird durch die Replacements zertstört.
Mit entity reference und multiv value als feldeintrag für die Basisnode bekomme ich einen link in dem ich add event drücken kann. Aber hier bekomme ich keine Werte übergeben. Eine Relationship in der View aufzubauen ist mir nicht gelungen und wie ich sonst die VIEW in die node bekomme ich mir immer noch schleierhaft.
Könnt ihr mir bitte nochmal helfen
LG
Eine Lösung ohne Views
am 03.11.2015 - 14:48 Uhr
Eine Lösung ohne Views: mit einem computed field: In diesem Feld kannst du die benötigten Eigenschaften/Felder des aktuell angezeigten Nodes sammeln und daraus einen Link zusammenbasteln. Du musst aber darauf achten, das Basisverzeichnis mit anzugeben, da es je nach Umgebung variieren kann. Du kannst z.B.
<?php
$base_url = token_replace('[site:url]');
?>
nutzen. Dann funktioniert das Skript sowohl bei http://localhost:8080 als auch bei http://localhost/meinprojekt/ oder http://mein.projekt.im.internet.
Ach ja: Der Link wird angezeigt, auch wenn der Benutzer nicht das Recht hat, diesen Node anzulegen :( . Du solltest also vielleicht auch noch prüfen, ob der Benutzer die benötigten Rechte hat. Damit wird das Skript aber so umfangreich, dass du vielleicht doch besser ein Modul dafür schreibst ;)
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!