[gelöst] - Rules -> CCK - Es will einfach nicht funktionieren
am 29.09.2010 - 13:20 Uhr in
Hallo zusammen,
ich versuche verzweifelt mit Rules bei der Erstellung eines neuen Inhaltes Automatisch ein CCK-Feld zu Füllen. Ich habe in meinem Inhaltstypen zwei Felder:
field_punkt1
field_punkt2
Das Feld field_punkt1 wird bei der Erstellung gefüllt. Nach dem der Node Erstellt / Geändert wird soll dann das Feld field_punkt2 mit Teilen aus dem Feld field_punkt1 gefüllt werden. Ich bekomme das aber einfach nicht hin. Irgendwie füllt Rules mir das Feld nicht mit den dem Wert. Ich habe folgende Regel erstellt:
Event: Node -> Content is going to be saved
Condition: Ist Inhaltstyp "Mein Inhaltstyp"
Arguments configuration: saved content
Action: Gebe ich hier einen Wert vor funktioniert es. Versuche ich es aber mit PHP will das einfach nicht. Ich verwende Token und habe folgenden Code (natürlich ohne php-tag) versucht:
<?php
$punkt1 = [node:field_punkt1-formatted];
return array(
0 => array('value' => $punkt1),
);
?>
Mit diesem Code müßte doch eigentlich der Wert aus field_punkt1 in das Feld field_punkt2 übertragen werden. Er wird aber einfach nicht in das Feld geschrieben.
Was mache ich falsch?
DANKE
- Anmelden oder Registrieren um Kommentare zu schreiben
Also ich habe das gerade auch
am 29.09.2010 - 14:14 Uhr
Also ich habe das gerade auch mal getestet und anscheinend gibt's Probleme, wenn man das Ersetzungs-Pattern
[node:field_punkt1-formatted]
verwendet, da bekomme ich beim Speichern z.B. eine Fehlermeldung. Woran das liegt kann ich dir allerdings nicht sagen.Probier mal, ob dieser Code anstelle des von dir geposteten funktioniert:
<?php
$punkt1 = $node->field_punkt1[0]['value'];
return array(
0 => array('value' => $punkt1),
);
?>
Und achte auch darauf, den Aktionen manuell unterschiedliche Wichtungen zuzuteilen (nicht einfach nur verschieben, sondern Aktion bearbeiten und ganz unten bei "Reihenfolge" einen Wert angeben. Die Aktion von Punkt 1 kann z.B. den Wert -10 und die Aktion für Punkt 2 den Wert 10 erhalten).
Vielen Dank! Ich dachte schon
am 29.09.2010 - 14:39 Uhr
Vielen Dank! Ich dachte schon ich wäre total neben der Spur. Mit diesem Code funktioniert es. Ist mir aber ein Rätsel aus welchem Grund der Token-Text nicht funktioniert. Auf jeden Fall geht es so.
Wo hast Du denn die Fehlermeldung gesehen?
Wenn ich in der PHP-Auswertun
am 29.09.2010 - 15:10 Uhr
Wenn ich in der PHP-Auswertun das Token verwendet habe, wurde keine Seite ausgegeben, sondern es gab nur eine weiße Seite mit dieser Fehlermeldung:
Parse error: syntax error, unexpected T_LNUMBER in /var/www/web*/html/d6/sites/all/modules/rules/rules/modules/php.rules.inc(107) : eval()'d code on line 4
Bei mir kam leider kein
am 29.09.2010 - 16:27 Uhr
Bei mir kam leider kein Fehler. Das Feld wurde nur nicht gefüllt.