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 - 00: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 - 01: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 - 09: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?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja...

Eingetragen von Netzhexe (45)
am 05.03.2013 - 22: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 - 10: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?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bedauerlicherweise...

Eingetragen von Netzhexe (45)
am 06.03.2013 - 11: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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 4 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

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