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 - 19: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 - 07: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 - 14: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oder weiss vieleicht jmd. wie

Eingetragen von dennis605 (138)
am 03.03.2011 - 18: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

JQuery ist eine Teilmenge von

Eingetragen von wla (9455)
am 03.03.2011 - 19: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, danke, dass

Eingetragen von dennis605 (138)
am 03.03.2011 - 19: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)

})
);

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, danke, dass

Eingetragen von dennis605 (138)
am 03.03.2011 - 19: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast Du denn mal geprüft, ob

Eingetragen von wla (9455)
am 03.03.2011 - 20: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

popups.js

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

muß vorhanden sein
dann sollte deine Methode funktionieren.

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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also popups.js wird geladen,

Eingetragen von dennis605 (138)
am 04.03.2011 - 13: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du mußt die

Eingetragen von wla (9455)
am 04.03.2011 - 13: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, danke, da hätte

Eingetragen von dennis605 (138)
am 04.03.2011 - 13: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Syntax ist jedensfalls in

Eingetragen von wla (9455)
am 04.03.2011 - 14: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich habe jetzt die

Eingetragen von dennis605 (138)
am 04.03.2011 - 14: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK, ich habs. Ich habe

Eingetragen von dennis605 (138)
am 04.03.2011 - 15: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • erfahrung mit dem Modul script manager
  • Verständnisfrage private_files in Drupal
  • [erledigt]MP3 in Drupal 10 einbinden
  • HTML oder JS Code wird nicht ausgeführt
  • Posts von einem Inhaltstyp in einen anderen verschieben
  • Mysql Ver 8.0.41 zu MariaDB 10.11.11
  • DrupalCamp Ruhr 12. / 13. September in Essen!
  • [gelöst]Zugriff auf inhaltstyp für angemeldete Benutzer wird verweigert
  • Word DOC Export Modul/Funktion gesucht
  • W3CSS Paragraphs Views
  • Advertising Modul gesucht
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • dinmikkith schrieb JavaScript
    vor 5 Tagen 14 Stunden
  • Ex- und Import nutzen
    vor 1 Woche 20 Stunden
  • cut&paste lässt sich automatisieren
    vor 1 Woche 1 Tag
  • geht, soweit mir bekannt, nur
    vor 1 Woche 1 Tag
  • Inkompatibilität zwischen MySQL u. MariaDB sowie SQL-Basiswissen
    vor 1 Woche 1 Tag
  • JavaScript gehört in Drupal
    vor 1 Woche 2 Tagen
  • JavaScript gehört in Drupal
    vor 1 Woche 2 Tagen
  • Ich würde mich an die beiden
    vor 2 Wochen 6 Tagen
  • @dinmikkith leider
    vor 3 Wochen 10 Stunden
  • Da gibt's schon was. Ich
    vor 3 Wochen 15 Stunden

Statistik

Beiträge im Forum: 250016
Registrierte User: 20328

Neue User:

  • freundbs
  • Lorydom
  • Tommyloamb

» Alle User anzeigen

User nach Punkten sortiert:
wla9455
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3855
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