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

Regel für Aktion "bei Aktualisierung von Inhalt" wird auch bei "Erzeugen von neuen Inhalt" angewandt

Eingetragen von ThuleNB (380)
am 17.02.2015 - 10:52 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hallo zusammen,

ich habe eine Regel mit dem Modul "Rules" erstellt:

Zitat:

Ereignis: Nach dem Aktualisieren bestehenden Inhalts of Typ Produkt
Aktion: Seiten-Weiterleitung

Die Regel funktioniert gut bis auf die Tatsache, dass sie auch für das Ereignis "Nach Erstellen von neuem Inhalt of Typ Produkt angewandt wird.

Die Google-Suche brachte mich nur auf dieses ähnliche Problem und den darin verlinkten Post.

Man kann da vielleicht was mit PHP machen, oder? Leider kenne ich mich damit nicht aus. Kann mir bitte jemand helfen?

Grüße
Thomas

‹ [gelöst] Colorbox Ordnerstruktur - auf verschiedene Verzeichnisse zugreifen? URL in mehreren Sprachen erreichbar? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

In Deinem Link ist doch eine

Eingetragen von Stefan.Korn (286)
am 17.02.2015 - 11:05 Uhr

In Deinem Link ist doch eine Lösung angegeben. Hast Du das versucht? Gibt es dabei Probleme?

Hinweis: Um "Execute custom PHP code" in Rules Condition verfügbar zu haben, musst Du PHP Filter aktivieren (Core-Modul).

Falls Du bei Deiner Seite verschiedene Benutzer mit unterschiedlichen Rollen hast, solltest Du darauf achten dass Du mit PHP-Filter keine Sicherheitslücken öffnest.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe diesen Code

Eingetragen von ThuleNB (380)
am 17.02.2015 - 11:25 Uhr

Ich habe diesen Code ausprobiert:

<?php
if($node->changed) {
   return
true;
} else {
   return
false;
}
?>

Also, dass die Regel nur dann angewandt werden soll, wenn der Inhalt geändert wurde. Ich wollte es dann testen und einen neuen Inhalt "Produkt" hinzufügen. Dann kommt aber eine Meldung "Zugriff verweigert". Mein Fall ist auch nicht genau gleich wie in dem Link, denn dort hat der Poster zwei Regeln und beide werden angewandt. Ich habe nur eine Regel mit einem Ereignis, welche aber auch auf ein nicht definiertes Ereignis reagiert.

Danke für die Hilfe.

EDIT: "Zugriff verweigert" konnte ich beheben. Das lag an etwas anderem.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, in dem Thread wird davon

Eingetragen von Stefan.Korn (286)
am 17.02.2015 - 11:34 Uhr

Hm, in dem Thread wird davon gesprochen $node->changed und $node->created zu vergleichen um herauszufinden ob der Node neu ist.

Also sollte es vermutlich lauten:

if ($node->created == $node->changed) {
return false;
}
else
{
return true;
}

und soll man nicht die php-delimiters weg lassen bei Execute Custom Code in Rules?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lösungsansatz ohne php

Eingetragen von marco.b (645)
am 18.02.2015 - 11:37 Uhr

Das Problem scheint nur bei mehreren getriggerten Rules zu entstehen, normal ist das Verhalten nicht.
Zur Analyse: Unter admin/config/workflow/rules/settings kannst du bei "Show debug information" immer einstellen, dann sieht du, welche Rules getriggert werden. Ich vermute, dass eine weitere Rule getriggert wird, die du sinnvoll einschränken kannst. Auf jeden Fall ist es gut, evtl. Kettenreaktionen zu erkennen.

Falls das nicht hilft, wäre ein Lösungsansatz ohne php, dass du in deiner Rule eine condition setzt "Datenwert ist leer" z.B für das Body Field (node-unchanged:body), das ist allerdings ungetestet, ich kann das Problem ja nicht nachvollziehen.

Beste Grüße
Marco

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 1 Woche 2 Tagen
  • Guten morgen und Danke
    vor 1 Woche 2 Tagen
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 1 Woche 2 Tagen
  • Danke Schmittrich. Die Frage
    vor 1 Woche 4 Tagen
  • Keine Antwort auf die Frage nach dem Woher
    vor 1 Woche 4 Tagen
  • Danke ich werde mir die
    vor 7 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 7 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 8 Wochen 25 Minuten
  • Vielen Dank für den
    vor 8 Wochen 2 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 8 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250323
Registrierte User: 20572

Neue User:

  • alxshell
  • AnthonyhoF
  • Philiphelve

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 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