Ergebnis 1 bis 2 von 2

Thema: Calendar Base: Additional URL Params

      
  1. #1
    Forum Zuschauer
    Registriert seit
    15.02.2010
    Beiträge
    6

    Frage Calendar Base: Additional URL Params

    Hi

    für die Erweiterung der Kategorien Filterung muss ich weitere Parameter an den Link zum Event-Single-View anhängen.
    Dazu gibt es eine abstrakte Methode im Model tx_cal_model:
    Code:
    class tx_cal_model extends tx_cal_base_model {
    ...
    function addAdditionalSingleViewUrlParams(&$currentParams){}  
    ...
    }
    die genau auf meine Bedürfnisse zugeschnitten ist. Ich verstehe aber nicht, wie ich diese Methode überschreiben kann, bzw wie ich das Model erweitere.

    Man kann Services einfach überschreiben, aber da komme ich nicht an das Model ran...

  2. #2
    Forum Zuschauer
    Registriert seit
    15.02.2010
    Beiträge
    6
    Ok, wir haben einen Weg gefunden und da ich gelöste Threads sehr gerne lese, leiste ich auch meinen Beitrag dazu:

    Man definiert einen Service in seiner Extension in der ext_localconf.php:

    Code:
    // Overwrites standard calservice
    t3lib_extMgm::addService($_EXTKEY,  'cal_event_model',  'tx_cal_phpicalendar',
        array(
            'title' => 'Cal PHPiCalendar Model', 'description' => '', 'subtype' => 'event',
            'available' => TRUE, 'priority' => 50, 'quality' => 50,
            'os' => '', 'exec' => '',
            'classFile' => t3lib_extMgm::extPath($_EXTKEY).'service/class.tx_cb_event_service.php',
            'className' => 'tx_cb_event_service',
        )
    );
    Service Klasse erbt von tx_cal_event_service und überschreibt die Methode createEvent:
    Code:
    require_once(t3lib_extMgm::extPath('cal').'service/class.tx_cal_event_service.php');
    require_once(t3lib_extMgm::extPath('cal').'controller/class.tx_cal_functions.php');
    require_once(t3lib_extMgm::extPath('your_extension').'class.tx_your_model.php');
    
    class tx_cb_event_service extends tx_cal_event_service {
    
        function createEvent($row, $isException){
            $event = t3lib_div::makeInstance('tx_your_model',$row, $isException, $this->getServiceKey(), $this->controller->conf);
            return $event;    
        }
    
    }
    In der eigenen Modelklasse kann man dann beliebige Funktionen überschreiben. Wichtig ist der Konstruktor!

    Code:
        require_once(t3lib_extMgm::extPath('cal').'model/class.tx_cal_phpicalendar_model.php');
        
        /**
         * Overwrites default cal model. Adds additional parameters for cal category management.
         * 
         */
        class tx_your_model extends tx_cal_phpicalendar_model {
            
            function __construct($row, $isException, $serviceKey) {
                $this->tx_cal_phpicalendar_model($row, false, $serviceKey);
                $this->controller = &tx_cal_registry::Registry('basic','controller');
            }
            
            /**
             * (non-PHPdoc)
             * @see typo3conf/ext/cal/model/tx_cal_model#addAdditionalSingleViewUrlParams($currentParams)
             */
            function addAdditionalSingleViewUrlParams(&$currentParams){
                    $currentParams["xyz"] = xyzvalue;
            }
    ...
    }

    viel spass ;)

 

 

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Facebook Kommentare

Ähnliche Themen

  1. cal- (Calendar Base) legt Server lahm
    Von Alriff im Forum Kalender
    Antworten: 3
    Letzter Beitrag: 18.05.2010, 17:24
  2. Antworten: 1
    Letzter Beitrag: 17.11.2009, 12:38
  3. Calendar Base um Felder erweitern
    Von cusaro im Forum Kalender
    Antworten: 0
    Letzter Beitrag: 06.07.2009, 07:38
  4. calendar base Einrichten bzw. formatieren
    Von paopao im Forum Kalender
    Antworten: 3
    Letzter Beitrag: 08.11.2007, 10:06
  5. Antworten: 3
    Letzter Beitrag: 26.06.2006, 12:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

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 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238