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

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • 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 (2695)
am 14.01.2011 - 10:49 Uhr

Das geht problemlos mit der Devel Version von Rules!

C.A.W. Webdesign

  • 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

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • 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

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also in Rules kannst du eine

Eingetragen von caw (2695)
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

C.A.W. Webdesign

  • 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 (2695)
am 05.02.2011 - 14:57 Uhr

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

C.A.W. Webdesign

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Content Ex-/Import
  • Meldung zu Token im Statusbericht
  • RESTful Path request will nicht
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Wer ist online Block
  • Doppelte Anzeige von Node im View
  • URL-Alias von bestehendem Link wird gelöscht und auf -0 gesetzt 404 Fehler entsteht
  • Ausblenden von Taxonomy wenn diese keinen Inhalt haben
  • Image als Anhang
  • [gelöst] Benutzer erstellen ohne Berechtigung zum ändern von E-Mail oder Passwort
  • HTTP ERROR 500, wenn der Node eines bestimmten Typs gespeichert wird oder ein neuer Inhalt dieses Typs erzeugt werden soll
  • Module modifizieren zb Statuses
Weiter

Neue Kommentare

  • Genau das habe ich auch
    vor 4 Stunden 15 Minuten
  • Tja, das kann ich wirklich
    vor 4 Stunden 27 Minuten
  • Irgendwie scheint Drupal
    vor 4 Stunden 31 Minuten
  • *HEUREKA* Ich habe das Modul
    vor 4 Stunden 48 Minuten
  • SaarlandToday schrieb Wenn es
    vor 5 Stunden 37 Minuten
  • Wenn es sich um eine
    vor 6 Stunden 35 Minuten
  • Vielleicht hilft #5 bzw. #13
    vor 19 Stunden 30 Minuten
  • War das eine saubere Drupal 9
    vor 19 Stunden 50 Minuten
  • Ich hab das Modul wie auch
    vor 22 Stunden 57 Minuten
  • Wie installierst Du das
    vor 23 Stunden 6 Minuten

Statistik

Beiträge im Forum: 245956
Registrierte User: 18825

Neue User:

  • Damian1802
  • MrWebMV
  • kiba

» Alle User anzeigen

User nach Punkten sortiert:
wla9008
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 5 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