Antwort #3 am: 18. März 2013, 16:33:12
Hallo Laines72,
ich habe schon mal eine Zahlungsart für modified erstellt und kann dir sagen, dass es gar nicht so schwierig ist. Am Besten erstellst Du erstmal eine php-Datei für deine Zahlungsweise im Ordner
/includes/modules/payment. In diesem Beispiel nennen ich sie mal lainesPay.php und gebe dir mal ein paar Funktionen vor.
class lainesPay {
/**
* Constructor class, sets the settings.
*/
function lainesPay() {
$this->code = 'lainespay'; // intern genutzer identifier
$this->version = '1.0.0';
$this->title = 'Laines Payment';
$this->description = 'Beschreibung der Zahlungsmethode';
$this->sort_order = MODULE_PAYMENT_LAINESPAY_SORT_ORDER;
$this->enabled = (MODULE_PAYMENT_LAINESPAY_STATUS == 'True') ? true : false;
}
Der Konstrutor setzt erstmal ein paar kleine Infos. Hier in kurzer Variante.
/**
* Checks if payment module is installed.
*
* @return 1 if installed, 0 if not
*/ function check
() { if (!isset($this->_check
)) { $check_query = xtc_db_query
("SELECT configuration_value FROM " . TABLE_CONFIGURATION
. "
WHERE configuration_key = 'MODULE_PAYMENT_LAINESPAY_STATUS'"); $this->_check
= xtc_db_num_rows
($check_query); } return $this->_check
; } Die Funktion check() überprüft für die Zahlungsmodulübersicht, ob das Modul installiert wurde.
/**
* Install sql queries.
*/
function install() {
xtc_db_query (
"INSERT INTO ". TABLE_CONFIGURATION ."
(configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added)
VALUES
('MODULE_PAYMENT_LAINESPAY_STATUS', 'False', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
xtc_db_query (
"INSERT INTO ". TABLE_CONFIGURATION ."
(configuration_key, configuration_value, configuration_group_id, sort_order, date_added)
VALUES
('MODULE_PAYMENT_LAINESPAY_SORT_ORDER', '-1', '6', '11', now())");
}
Die install()-Funktion macht genau dass, was man von ihr erwartet.
Hier kannst Du natürlich noch mehr einstellen. Je nachdem, wieviele Einstellungen es werden sollen.
/**
* Uninstall sql queries.
*/ function remove
() { $parameters = $this->keys(); xtc_db_query
("DELETE FROM ". TABLE_CONFIGURATION
." WHERE configuration_key IN ('". implode("', '", $parameters) ."')"); } /**
* All necessary configuration attributes for the payment module.
*
* @return array with configuration attributes
*/ function keys
() { return array('MODULE_PAYMENT_LAINESPAY_STATUS', 'MODULE_PAYMENT_LAINESPAY_SORT_ORDER'); }}?> Die keys() listet alle Parameter auf und remove() deinstalliert auf Befehl alles. Hier natürlich die Einstellungen alle samt aufführen / löschen.
Dazu gibt es noch andere Methoden, wie z.B. selection() - Ausgabe für die Zahlungsauswahl (checkout_payment.php). Am besten schaust Du dir ein paar Beispiele im Ordner
/includes/modules/payment an.
In den Ordner
lang/german/modules/payment kommt dann nochmal eine Datei lainesPay.php in welcher Du die Sprachvariablen setzt.
define('MODULE_PAYMENT_LAINESPAY_STATUS_TITLE', 'LainesPay Modul aktivieren');define('MODULE_PAYMENT_LAINESPAY_STATUS_DESC', 'Möchten Sie Zahlungen über LainesPay akzeptieren?');define('MODULE_PAYMENT_LAINESPAY_SORT_ORDER_TITLE', 'Anzeigereihenfolge');define('MODULE_PAYMENT_LAINESPAY_SORT_ORDER_DESC', 'Reihenfolge der Anzeige. Kleinste Ziffer wird zuerst angezeigt.'); Wie gesagt, ich habe nicht alle Methoden aufgeführt, würde aber vorschlagen, Du schaust dir vorhandene Zahlungsarten an und dann kann dir bei konkreten Fragen zu einzelnen Funktionen oder Features eher geholfen werden.