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

Argument an hook übergeben: Wie denn, wo denn?! Grundsatzfrage, glaube ich

Eingetragen von Netzhexe (45)
am 05.03.2013 - 01:46 Uhr in
  • Module

Hallo Leute,

ich hab das Gefühl, hier ganz generell etwas überhaupt nicht verstanden zu haben. Also folgendes:

Ich habe eine Commerce Kickstart-Seite mit dem zusätzlich installierten Modul commerce_ogone (Ogone ist so ein Payment Gateway), was soweit alles einwandfrei funktioniert. Nun gibt es die Möglichkeit, im Schritt "Bezahlen" bei der Weiterleitung zum Ogone-Server eine URL zu einem "Dynamic Template" mitzuschicken, das Ogone dann verwendet, um die Bezahlseiten im eigenen Look & Feel darzustellen.

In der readme.txt vom commerce_ogone-Modul findet sich nun im Absatz "Dynamic Templates" als Anleitung nur der folgende Satz: "The absolute URL to this page must be passed as a parameter to
hook_commerce_ogone_data_alter() (see commerce_ogone.api.php)." Ich hab mir die genannte .php-Datei natürlich angeguckt, aber ich steh total auf dem Schlauch.

WIE übergebe ich diesen Parameter?! Wo? Kann ich das in meiner template.php machen...? Irgendwie würde ich erwarten, dass es in den Modul-Settings ein Feld für diesen absoluten Pfad gibt und das Modul baut das dann "irgendwie" ein... ich würde das glatt so umsetzen, wenn ich wüsste wie.

Ich freu mich auch sehr, wenn jetzt jemand von euch schreibt "Du Nase, lies erstmal diesen Grundsatzartikel über Hooks/Module/..." - sehr gerne. Ich weiß nur überhaupt nicht wo anfangen damit.

Vielen Dank schonmal
Anna~

‹ [gelöst] Hover Preview Effekte laden nicht mehr [Gelöst]Media Gallery - Fehlerhafte Anzeige nach Server Umzug ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

such mal wo

Eingetragen von Anax (43)
am 05.03.2013 - 02:26 Uhr

such mal von wo hook_commerce_ogone_data_alter() genau aufgerufen wird.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hooks

Eingetragen von stBorchert (6003)
am 05.03.2013 - 10:30 Uhr

Hallo.
"Du Nase, lies erstmal diesen Grundsatzartikel über Hooks/Module/..." schreibe ich jetzt mal nicht ;)
Allerdings ist es für Dich vermutlich doch sehr hilfreich, zu verstehen, was diese Hooks überhaupt sind. Ein Hook ist quasi eine Möglichkeit, bestehende Funktionen eines Moduls und vom Modul erzeuge Daten zu verändern.
Modul a) definiert beispielsweise den Hook hook_commerce_ogone_data_alter(). Das bedeutet nun, dass Modul a) erst in einer Funktion seine Daten zusammensucht und dann anderen Modulen die Möglichkeit gibt, diese Daten zu verändern oder zu erweitern.
Dazu muss Modul b) (also ein custom Modul von Dir) diesen Hook implementieren:

<?php
function {MODULENAME}_commerce_ogone_data_alter(&$data, $order, $settings) {
 
$data['TP'] = url('path/to/custom/template', array('absolute' => TRUE));
}
?>

Ganz einfach, oder?

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja...

Eingetragen von Netzhexe (45)
am 05.03.2013 - 23:18 Uhr

Ja, klingt fantastisch! Hab ich natürlich gleich ausprobiert, unter Zuhilfenahme des Modul-Selbstbau-Tutorials von drupal.org: http://drupal.org/node/1074362 (ff.)

Nun bin ich bis zur Implementation von hook_help() gekommen und hab's genau so gemacht wie's dasteht... und der Help-Link taucht nicht auf. (Dementsprechend wundert es mich auch nicht, dass Deine paar Zeilen Code von oben auch nichts zu machen scheinen.)

Ich hab schon gegoogelt und eine gefunden, die das gleiche Problem hatte: http://drupal.org/node/1910784

Sie hat auch eine Lösung, aber leider scheint mein Problem woanders zu liegen. So sieht jetzt mein Code aus:

ogone_dt_path.module:

<?php
/**
* @file
* A module that adds the path for the dynamic template to the Ogone payment pages.
*/

/**
* Implements hook_help.
*
* Displays help and module information.
*
* @param path
*   Which path of the site we're using to display help
* @param arg
*   Array that holds the current path as returned from arg() function
*/
function ogone_dt_path_help($path, $arg) {
  switch ($path) {
    case "admin/help#ogone_dt_path":
      return '<p>' . t("Adds the path for the dynamic template to the Ogone payment pages") . '</p>';
      break;
  }
}

function ogone_dt_path_commerce_ogone_data_alter(&$data, $order, $settings) {
  $data['TP'] = url('https://ssl.webpack.de/domain.name/ogone-template/template.html', array('absolute' => TRUE));
}

Und die ogone_dt_path.info:

name = Ogone Dynamic Template
description = Adds the path to a dynamic template to the Ogone payment pages.
core = 7.x
dependencies[] = commerce_ogone

Freu mich riesig über Input!

Gruß
Anna~

  • Anmelden oder Registrieren um Kommentare zu schreiben

Modul

Eingetragen von stBorchert (6003)
am 06.03.2013 - 11:51 Uhr

Hm, so auf den ersten Blick sehe ich da nichts, was auf einen Fehler hindeuten könnte.
Aktiviert hast Du Dein Modul (ich frag mal zur Sicherheit nach ...), oder? Und den Cache geleert hast Du auch, ja?

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bedauerlicherweise...

Eingetragen von Netzhexe (45)
am 06.03.2013 - 12:29 Uhr

... ja und ja. Hab's zur Sicherheit grad nochmal gemacht, selbes Ergebnis. Kein Hilfe-Knopf, kein dynamic template. :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Theme Olivero - Rand entfernen?
  • Seite auf Xamp wird nicht geladen
  • Olivero veraendern
  • Upgrade Drupal 9 auf 10
  • Matomo(?) in Seite, aber Deinstalliert!
  • Upgrade Drupal 7 auf Drupal 9 / Inhalt erstellen zeigt nur Fehler an
  • Fehlermeldung nach Update auf Drupal 10
  • Wie Button erstellen?
  • footnotes bei D10 und CKE5
  • ckeditor Bilder skalieren
  • Bild in welcher Form die Beschriftung!
  • Drupal 10 und Adaptive Theme 2.0
Weiter

Neue Kommentare

  • Sowas geht immer mit
    vor 22 Stunden 13 Minuten
  • vielen Dank fuer Deine Tipps.
    vor 1 Tag 4 Stunden
  • Routinefrage: Kann es ein
    vor 1 Tag 23 Stunden
  • @onkel Bob,Erst mal
    vor 1 Woche 1 Tag
  • Prinzipiell geht das schon.
    vor 1 Woche 1 Tag
  • Rubi_2021 schriebWie genau
    vor 2 Wochen 13 Stunden
  • Ok, war ein Versuch. ;-) Kann
    vor 2 Wochen 18 Stunden
  • Danke
    vor 2 Wochen 19 Stunden
  • Redest Du von dem
    vor 2 Wochen 21 Stunden
  • Mit sticht das hier ins
    vor 2 Wochen 21 Stunden

Statistik

Beiträge im Forum: 248801
Registrierte User: 19832

Neue User:

  • elkb
  • J. Berten
  • vohome

» Alle User anzeigen

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