Antwort
 
LinkBack (1) Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 31.08.07, 10:15
Forum Newbie
 
Registriert seit: 09.02.07
Beiträge: 11
Frage Hook erstellen?!

hallo alle zusammen!
ich würde gerne für commerce einen hook erzeugen da ich die generateOrderId() gern an meine bedürfnisse anpassen möchte.

PHP-Code:
         $hookObjectsArr = array();
        if (
is_array ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/pi3/class.tx_commerce_pi3.php']['finishIt']))    {
            foreach (
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/pi3/class.tx_commerce_pi3.php']['finishIt'] as $classRef)    {
                
$hookObjectsArr[] = &t3lib_div::getUserObj($classRef);
            }
        }


...


               
/**
         * Hook for generating The OrderId
         */
        
foreach($hookObjectsArr as $hookObj)    {
            if (
method_exists($hookObj'generateOrderId'))    {
                
$orderId $hookObj->generateOrderId($orderId$basket$this);
            }
        } 

das is der code aus der class.tx_commerce_pi3.php ... methode finish ...

nur wo muss ich die methode definieren so dass sie auch direkt eingebunden wird und ich nicht in den eigentlichen source eingreifen muss ?! hab schon die typo hook doc gesehn aber ich steh grad ein wenig auf der leitung :/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Sponsored Links
  #2  
Alt 31.08.07, 22:54
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.151
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von navyseal Beitrag anzeigen
nur wo muss ich die methode definieren so dass sie auch direkt eingebunden wird und ich nicht in den eigentlichen source eingreifen muss ?! hab schon die typo hook doc gesehn aber ich steh grad ein wenig auf der leitung :/
In Deiner eigenen Extension/Klasse, in welcher es dann die Methode:

PHP-Code:
generateOrderId($orderId$basket$parent
geben muss. Die Funktion registrierst Du anschliessend (Suchwort im Hookdokument: SC_Option) und forthin wird sie automatisch aufgerufen.

Der Sinn von Hooks ist ja genau, dass der "zu modifizierende" Source nicht angefasst werden muss.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 03.09.07, 09:14
Forum Newbie
 
Registriert seit: 09.02.07
Beiträge: 11

danke zunächst für deine schnelle antwort!

habe nun in t3lib eine klasse erstellt class.t3lib_commerce_hook.php

PHP-Code:
    class t3lib_commerce_hook{
    
        function 
generateOrderId($orderId$basket$object){
        
        
            if (
is_array($TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_commerce_hook.php']['generateOrderId']))    {
                foreach (
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_commerce_hook.php']['generateOrderId'] as $funcName)    {
                    
$_params = array(
                        
'orderId' => $orderId'basket' => $basket 'object'=> $object
                    
);
                    
t3lib_div::callUserFunction($funcName,$_params,$this);
                }
            }

            return 
"007";
        }
    } 
und in der ext_localconf.php folgende zeile eingefügt
PHP-Code:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.tx_commerce_hook.php']['generateOrderId'][] = 't3lib_commerce_hook'
aber irgendwie scheint das noch nicht zu funktionieren bzw hab ich was falsch gemacht ....
komm mit der typo struktur leider noch nicht so ganz zurecht :/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 03.11.07, 08:39
Benutzerbild von robelix
Forum Stammgast
 
Registriert seit: 03.12.06
Beiträge: 171

Schau dir doch mal meine wc_commerce_orderid Extension (im TER) an. Da habe ich genau das "gehookt".
__________________
mysql> SELECT question FROM life, universe, everything WHERE answer=42;
Empty set (2079460347 sec)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An

LinkBacks (?)
LinkBack to this Thread: http://www.typo3forum.net/forum/commerce/23112-hook-erstellen.html
Erstellt von For Type Datum
extconf: Blogs, Photos, Videos and more on Technorati This thread Refback 13.10.07 11:09

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[newloginbox ] PHP-Variablen für Hook? m@xx Extension modifizieren oder neu erstellen 0 17.01.08 19:14
Hook getMainFields linpin Extension modifizieren oder neu erstellen 0 15.08.07 10:07
Übersicht Hook-Möglichkeiten Armin Extension modifizieren oder neu erstellen 10 19.06.07 14:53
FE Hook gesucht Spyker Extension modifizieren oder neu erstellen 1 30.03.07 12:18
Hook problem mab82 TYPO3 4.x Fragen und Probleme 1 21.03.07 16:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS