#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
Unterstützen Sie das Forum und buchen Sie Ihren Webspace beim
T3N Testsieger, dem Webhoster der auch dieses Forum hostet!


  #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: 43
Beiträge: 2.492
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: 305

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

Lesezeichen

Themen-Optionen
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 hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-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 00:26 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177