Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Rules: Wert an CCK-Feld geben

Eingetragen von Jadea (30)
am 11.01.2011 - 16:50 Uhr in
  • Module

Hallo zusammen,

ich möchte gerne über Rules, den Nutzer, der ein Thema aktualisiert, in einem Feld "field_aenderung_nutzer" abspeichern, damit ich den Wert über Views anzeigen kann.
Leider bin ich in php noch nicht so firm, was muß ich als php-code angeben?

Bisher habe ich:

ON event Nach dem Aktualisieren bestehenden Inhalts

<?php
global $user;
"field_aenderung_nutzer" => $user;
?>

Aber irgendwie stimmt da was nicht. Fehlermeldung: Parse error: syntax error, unexpected '<' in /opt/rz/www/virtuals/externe/bronze/database/sites/all/modules/rules/rules/modules/php.rules.inc(107) : eval()'d code on line 1

Wäre jemand so lieb, mir weiterzuhelfen? Danke vielmals!

‹ [gelöst]TinyMCE in Drupal 7 installieren tagadelic falscher Seitentitle bei tagadelic/chunk/? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Rules

Eingetragen von stBorchert (6003)
am 12.01.2011 - 20:35 Uhr

Hallo.
Das kann so nicht funktionieren. Woher soll Drupal (bzw. PHP) denn wissen, was Du mit dem Text "field_aenderung_nutzer" meinst?
Du hast in der Rule den Parameter $node (das Datenobjekt des veränderten Inhalts). Lass Dir mal in einer Aktion von Rules dessen Werte ausgeben. Dazu installierst Du Dir das Modul [do:devel Devel].

<?php
dsm
($node);
?>

Damit siehst Du, welche Attribute das Objekt $node so alles mitbringt und wo Du ansetzen musst.

Ich vermute mal, folgender Code könnte schon die Lösung sein (ungetestet):

<?php
$node
->field_aenderung_nutzer = $user->uid;
return array(
'node' => $node);
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank für die Hilfe

Eingetragen von Jadea (30)
am 14.01.2011 - 10:12 Uhr

Vielen Dank für die Hilfe schonmal, mit dem Devel war ein guter Tipp.

Trotzdem hab ich noch ein Fehler in der Syntax. Beim dem Code kommt die Meldung: "Parse error: syntax error, unexpected $end, expecting '(' in /opt/rz/www/virtuals/externe/bronze/database/sites/all/modules/rules/rules/modules/php.rules.inc(107) : eval()'d code on line 1"

Übernommener Code:

<?php
$node
->field_aenderung_nutzer = $user->uid;
return array(
'node' => $node);
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab jetzt grad noch bei

Eingetragen von Jadea (30)
am 14.01.2011 - 10:34 Uhr

Ich hab jetzt grad noch bei Devel gesehen, dass der Wert den ich dem Feld "field_aenderung_nutzer" zuweisen will, ist in dem Token "user-name" gespeichert. Vielleicht gibts ja auch noch ne Alternative als das mit Rules zu machen. Wäre für Hilfe sehr, sehr dankbar!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht problemlos mit der

Eingetragen von caw (2762)
am 14.01.2011 - 10:49 Uhr

Das geht problemlos mit der Devel Version von Rules!

  • Anmelden oder Registrieren um Kommentare zu schreiben

caw schrieb Das geht

Eingetragen von Jadea (30)
am 19.01.2011 - 15:43 Uhr
caw schrieb

Das geht problemlos mit der Devel Version von Rules!

Könntest Du mir genauer erklären, wie man vorgeht? Ich hab nach der Installation von Devel keine Veränderung von Rules selbst bemerkt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

rules

Eingetragen von stBorchert (6003)
am 19.01.2011 - 15:50 Uhr

caw meinte vermutlich die "dev-Version" von Rules.
Allerdings funktioniert das auch mit dem stabilen Release. Magst Du mal den von Dir eingefügten Code zeigen? Eventuell auch einen Screenshot der Rule-Konfiguration.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Antwort. Anbei

Eingetragen von Jadea (30)
am 19.01.2011 - 16:11 Uhr

Danke für die Antwort. Anbei alle von mir eingegebenen Daten.

<?php
$node
->field_aenderung_nutzer = [author:user];
return array(
'node' => $node);
?>

führt zu:
Parse error: syntax error, unexpected '[' in /opt/rz/www/virtuals/externe/bronze/database/sites/all/modules/rules/rules/modules/php.rules.inc(107) : eval()'d code on line 1

<?php
$node
->field_aenderung_nutzer = $user->uid;
return array(
'node' => $node);
?>

führt zu: Fatal error: Cannot unset string offsets in /opt/rz/www/virtuals/externe/bronze/database/sites/all/modules/cck/content.module on line 1248

Hoffe Du kannst mir helfen!

AnhangGröße
1.jpg 217.58 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Jadea

Eingetragen von stBorchert (6003)
am 19.01.2011 - 17:14 Uhr
Jadea schrieb

$node->field_aenderung_nutzer = [author:user];

Nee, so einfach geht das nicht :)

Jadea schrieb

<?php
$node
->field_aenderung_nutzer = $user->uid;
return array(
'node' => $node);
?>


Ich vermute mal, dass <code>$node->field_aenderung_nutzer

ein Array ist. Mein Tipp ist:
<?php
$node
->field_aenderung_nutzer[0]['#value'] = $user->uid;
return array(
'node' => $node);
?>

Zur Sicherheit gib mal einfach anstelle des obigen Codes das hier ein:

<?php
dsm
($node->field_aenderung_nutzer);
?>

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also in Rules kannst du eine

Eingetragen von caw (2762)
am 19.01.2011 - 17:34 Uhr

Also in Rules kannst du eine Aktion erstellen, die ein CKK Feld füllt. Als werte kannst du in der development Version auch Token Werte nutzen

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?php$node->field_aenderung_n

Eingetragen von Jadea (30)
am 20.01.2011 - 13:10 Uhr

<?php
$node
->field_aenderung_nutzer[0]['#value'] = $user->uid;
return array(
'node' => $node);
?>

Da kommt keine Fehlermeldung mehr, aber speichern tut er auch keinen Wert in das Feld.

stBorchert schrieb

Zur Sicherheit gib mal einfach anstelle des obigen Codes das hier ein:

<?php
dsm
($node->field_aenderung_nutzer);
?>

 Stefan

Also wenn ich das eingebe kommt folgende Meldung (mit der ich jetzt nich viel anfangen kann):

... (Array, 1 element)

*
0 (Array, 1 element)

Called from /opt/rz/www/virtuals/externe/bronze/database/sites/all/modules/rules/rules/modules/php.rules.inc(107) : eval()'d code, line 1

Könnte ich den Wert vielleicht auch durch einen berechneten Standartwert des Feldes selbst abspeichern? Wenn ja was müßte ich da eingeben?
Die Vorgabe ist ja:

return array(
0 => array('value' => Wert für value),
);

Auch hier komme ich aber nicht weiter, was ich bei value jeweils eingeben muß.

  • Anmelden oder Registrieren um Kommentare zu schreiben

caw schrieb Also in Rules

Eingetragen von Jadea (30)
am 20.01.2011 - 13:12 Uhr
caw schrieb

Also in Rules kannst du eine Aktion erstellen, die ein CKK Feld füllt.

Aber wie? Das versuche ich ja die ganze Zeit :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

caw schrieb Das geht

Eingetragen von drufiz (46)
am 05.02.2011 - 12:20 Uhr
caw schrieb

Das geht problemlos mit der Devel Version von Rules!

Moin caw,

könntest du das bitte etwas näher beschreiben ? Ich stehe vor dem gleichen Problem...

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe die tokens einfach

Eingetragen von caw (2762)
am 05.02.2011 - 14:57 Uhr

Ich habe die tokens einfach in die Email gestellt wie in der Anleitung. Sonst nichts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 4 Tagen
  • Hey danke
    vor 2 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 9 Stunden
  • In der entsprechenden View
    vor 4 Wochen 9 Stunden
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 9 Stunden
  • gelöst
    vor 6 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20456

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 25 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association