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

[gelöst] Popup Message mit Rules

Eingetragen von dennis605 (138)
am 02.03.2011 - 18:39 Uhr in
  • Module

Hallo liebe Drupaler,

weiss jmd. von euch, wie ich folgendes realisieren kann.

Ich möchte eine Regel mit dem Rules Modul unter Drupal 6.x erstellen, die eine MessageBox mit einer Nachricht anzeigen soll.
Am besten wäre eine Implementierung mit dem Popups Api Modul.
Laut Api.txt ware folgendes möglich
Popups.message(title, message)

Hier bekomme ich aber die Meldung, dass die Funktion "message" nicht gefunden werden kann.

Kann mir jmd. sagen, wie ich diese Funktion verwenden kann?

Danke für eure Hilfe.

lg

dennis605

‹ FB Social Plugin: Darstellung von Like & Share Button Translation Management ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Rules + Better Messages

Eingetragen von Nicolai Schwarz (1071)
am 03.03.2011 - 06:17 Uhr

D6 oder D7?

Aber du könntest Rules so einstellen, dass eine Message ausgegeben wird. Und dann das Modul Better Messages verwenden, das daraus ein Pop-Up macht. Letzteres gibt es aber nicht für D7.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Nicolai, danke für

Eingetragen von dennis605 (138)
am 03.03.2011 - 13:37 Uhr

Hallo Nicolai,

danke für deine Antwort.
Stimmt, tut mir Leid, das habe ich vergessen zu erwähnen.
Ich verwende Drupal 6.x.
Wenn ich deinen Vorschlag verwende, habe ich allerdings das Problem, dass alle Nachrichten, die das System mit "drupal_set_message()" anzeigt im gleichen
Stil angezeigt werden.
Ich möchte aber explizit nur diese eine Nachricht als Popup oder Modal Window anzeigen.
Ich verwende übrigens das Modul "Popup Message Box", weil ich finde, es integriert die Nachrichtenanzeige besser als "Better Messages"(optisch).

lg dennis605

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oder weiss vieleicht jmd. wie

Eingetragen von dennis605 (138)
am 03.03.2011 - 17:39 Uhr

Oder weiss vieleicht jmd. wie ich im Allgemeinen Jquery Funktionen ausführen kann?
Den Rest kann ich mir dann wahrscheinlich selber herleiten.
Ich meine aber nicht das Reagieren auf ein Event, oder eine Auswahl mittels Selektoren,
sondern einfach eine Funktion mit Parameter ausführen.

lg dennis

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

JQuery ist eine Teilmenge von

Eingetragen von wla (9344)
am 03.03.2011 - 18:16 Uhr

JQuery ist eine Teilmenge von JavaScript. Also laufen alle Funktionsaufrufe (mit und ohne Parameter) genauso oder willst Du eine Drupalfunktion von jQuery aus aufrufen?

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, danke, dass

Eingetragen von dennis605 (138)
am 03.03.2011 - 18:47 Uhr

Hallo Werner,

danke, dass dich mit dem Thema beschäftigst.

Ich möchte wie Oben erwähnt, eine Funktion, wie sie die "popups api" zur Verfügung stellt auf meiner Site einbinden.
Es geht hier um die Funktion:
Popups.message(title, message)

aus der Api:

As well as attaching popup behavior to links,
Popups API provides javascript function for creating in-window popup messages.

Popups.message(title, message)
  Produces a simple modal box with the title, message and "OK", "Cancel" buttons.

Popups.open(title, body, buttons, width)
  More powerful, allows you to specify what the buttons are and what they do.
  buttons is a hash of hash, with button title and function.
  * Example:
  Drupal.popups.open(
    Drupal.t('Warning: Please Confirm'),
    Drupal.t("There are unsaved changes on this page, which you will lose if you continue."),
    {
      'popup_save': {
        title: Drupal.t('Save Changes'),
        func: function(){Drupal.popups.savePage(element, options);}
      },
      'popup_submit': {
        title: Drupal.t('Continue'),
        func: function(){Drupal.popups.removePopup(); Drupal.popups.openPath(element, options);}
      },
      'popup_cancel': {
        title: Drupal.t('Cancel'), func: Drupal.popups.close;
      }
    }
  );

// TODO - make a more useful api function for opening a path.
Popups.openPath = function(element, options, parent)
* @param element
*   Element that was clicked to open the popups.
* @param options
*   Hash of options controlling how the popups interacts with the underlying page.
* @param parent
*   If path is being opened from inside another popup, that popup is the parent.

Ich dachte an etwas wie:

drupal_add_js(
$(document).ready(function() {

Popups.message(title, message)

})
);

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, danke, dass

Eingetragen von dennis605 (138)
am 03.03.2011 - 18:47 Uhr

Hallo Werner,

danke, dass dich mit dem Thema beschäftigst.

Ich möchte wie Oben erwähnt, eine Funktion, wie sie die "popups api" zur Verfügung stellt auf meiner Site einbinden.
Es geht hier um die Funktion:
Popups.message(title, message)

aus der Api:

As well as attaching popup behavior to links,
Popups API provides javascript function for creating in-window popup messages.

Popups.message(title, message)
  Produces a simple modal box with the title, message and "OK", "Cancel" buttons.

Popups.open(title, body, buttons, width)
  More powerful, allows you to specify what the buttons are and what they do.
  buttons is a hash of hash, with button title and function.
  * Example:
  Drupal.popups.open(
    Drupal.t('Warning: Please Confirm'),
    Drupal.t("There are unsaved changes on this page, which you will lose if you continue."),
    {
      'popup_save': {
        title: Drupal.t('Save Changes'),
        func: function(){Drupal.popups.savePage(element, options);}
      },
      'popup_submit': {
        title: Drupal.t('Continue'),
        func: function(){Drupal.popups.removePopup(); Drupal.popups.openPath(element, options);}
      },
      'popup_cancel': {
        title: Drupal.t('Cancel'), func: Drupal.popups.close;
      }
    }
  );

// TODO - make a more useful api function for opening a path.
Popups.openPath = function(element, options, parent)
* @param element
*   Element that was clicked to open the popups.
* @param options
*   Hash of options controlling how the popups interacts with the underlying page.
* @param parent
*   If path is being opened from inside another popup, that popup is the parent.

Ich dachte an etwas wie:

drupal_add_js(
$(document).ready(function() {

Popups.message(title, message)

})
);

lg

dennis605

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast Du denn mal geprüft, ob

Eingetragen von wla (9344)
am 03.03.2011 - 19:31 Uhr

Hast Du denn mal geprüft, ob diese Zusatzlibrary von dem Modul überhaupt geladen ist? Irgenwoher muß der Code für diese Funktion ja kommen?

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

popups.js

Eingetragen von sepp68 (444)
am 03.03.2011 - 20:52 Uhr

muß vorhanden sein
dann sollte deine Methode funktionieren.

oder einfach selber machen:
    drupal_add_js(drupal_get_path('module', 'popups') .'/popups.js');

Sepp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also popups.js wird geladen,

Eingetragen von dennis605 (138)
am 04.03.2011 - 12:13 Uhr

Also popups.js wird geladen, das kann im head ich sehen.

Habe es jetzt so probiert:

drupal_add_js(drupal_get_path('module', 'popups') .'/popups.js');
drupal_add_js( $(document).ready(function() {

Popups.message('test', 'test')

})
);

Dann bekomme ich aber folgende Fehlermeldung:
Parse error: syntax error, unexpected '(', expecting T_VARIABLE or '$' in /var/www/sites/all/modules/devel/devel.module(1193) : eval()'d code on line 4

Was mache ich falsch?

lg dennis605

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du mußt die

Eingetragen von wla (9344)
am 04.03.2011 - 12:21 Uhr

Du mußt die JavaScript/jQuery-Funktion als Text übergeben (d.h. in Double-Quotes einschließen). Was soll den PHP mit so einem Übergabeparameter machen? Klar, das das einen Syntax Error gibt.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, danke, da hätte

Eingetragen von dennis605 (138)
am 04.03.2011 - 12:45 Uhr

Hallo Werner,

danke, da hätte ich auch selber drauf kommen können.
Jetzt bekomme ich keine Fehlermeldung mehr, sondern es passiert gar nichts mehr mit folgendem code:

drupal_add_js(drupal_get_path('module', 'popups') .'/popups.js');
drupal_add_js( "$(document).ready(function() {

Popups.message('test', 'test')

})
");

So müsste es doch gehen, oder?

lg

dennis605

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Syntax ist jedensfalls in

Eingetragen von wla (9344)
am 04.03.2011 - 13:02 Uhr

Die Syntax ist jedensfalls in Ordnung. Ob allerdings bereits beim Document.ready Deine JavaScript Library geladen ist, kann ich Dir nicht sagen.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich habe jetzt die

Eingetragen von dennis605 (138)
am 04.03.2011 - 13:19 Uhr

Also ich habe jetzt die popus.js in meine theme.info eingetragen,
ich sehe auch, dass diese im head geladen wird.
Jetzt müsste doch gewährleistet sein, daß die popups.js vor Document.ready geladen wird, oder?

Aber leider keine Reaktion, hast du vielleicht noch eine Idee?

lg

dennis605

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK, ich habs. Ich habe

Eingetragen von dennis605 (138)
am 04.03.2011 - 14:02 Uhr

OK, ich habs.
Ich habe gemerkt, dass meine script im head ausgeführt wird.
Dies ist aber nicht erwünscht.
Das Schlüsselwort ist 'inline'.

So gehts:

drupal_add_js(drupal_get_path('module', 'popups') .'/popups.js');
drupal_add_js("$(document).ready(function() {
          Popups.message('test', 'test')     
});
",'inline');

Damit führt Drupal das script im Body aus.

Vielen Dank für eure Unterstützung!!

lg

dennis605

Danke für eure Unterstützung

Dennis605

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Fragen zum update D9.5.11 zu D10.0
  • Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • [geloest] Link in Ckeditor 5 eingeben
  • Erinnerungsmail aus Date field in einem content-type und einem paragraphen
  • CKEditor 5 - Placeholder für Link im CKEditor von Titel in Tooltip ändern
  • Contact-Modul / Kategorien und Empfänger in Drupal 9
  • Drupal Entwickler / 100% Homeoffice gesucht!
  • Drupal 8 Entwickler/in Vollzeit in Hamburg gesucht
  • [gelöst] Module über Datenbank deaktivieren
  • Probleme mit Dateirechten beim Hoster IONOS
  • Beiträge Mittelspalte?
  • Drupal Freelancer gesucht
Weiter

Neue Kommentare

  • Ja hab ich getan
    vor 51 Minuten 12 Sekunden
  • Du mußt Dir die
    vor 1 Stunde 17 Minuten
  • Danke einmal
    vor 15 Stunden 51 Minuten
  • Ich kann nur auf diese
    vor 20 Stunden 19 Minuten
  • Vermutlich fehlt die Klasse
    vor 1 Tag 2 Stunden
  • Vielen Dank Regina, Du hast
    vor 1 Tag 4 Stunden
  • Es käme natürlich auch eine
    vor 2 Tagen 5 Stunden
  • Das ist es nicht zu finden
    vor 3 Tagen 40 Minuten
  • Was klappt nicht? Bekommst Du
    vor 5 Tagen 5 Stunden
  • Das liegt am Mayo-Theme. Das
    vor 5 Tagen 11 Stunden

Statistik

Beiträge im Forum: 248961
Registrierte User: 19851

Neue User:

  • Druppi1895
  • SergGycle
  • kgdrupal

» Alle User anzeigen

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