Post by zrxraver » Mon Dec 30, 2013 3:18 am

Misschien een handige tip voor degenen die zelf ook wel eens mod maken, met een kleine aanpassing in system/engine/registry.php kan je bv models autoloaden.

Een voobeeld:

Normaliter moet je eerst doen:

Code: Select all

$this->load->model('account/address');
Vervolgens kan je een functie aanroepen:

Code: Select all

$this->model_account_address->getAddresses();
Met een kleine aanpassing in de registry.php kan je die eerste regel $this->load->... vergeten en direct doen.

Code: Select all

$this->model_account_address->getAddresses();
En dat model word automagisch geladen.

De enige aanpassing die hier voor nodig is in system/engine/registry.php is deze functie:

Code: Select all

	public function get($key) {
		return (isset($this->data[$key]) ? $this->data[$key] : NULL);
	} 
vervangen door:

Code: Select all

  public function get($key) {
    if(!isset($this->data[$key])){
      $parts = explode('_', $key);

      if(isset($parts[0])){
        switch ($parts[0]){
          case 'mail' :
            $this->data['load']->library('mail');
            $this->set('mail', new Mail());
            break;
          case 'model' :
            array_shift($parts);
            $this->data['load']->model(implode('/', $parts));
            break;
        }
      }
    }

    return (isset($this->data[$key]) ? $this->data[$key] : NULL);
  }
Zelf heb ik hier veel meer autoloaders in staan en die heb ik weer weggehaald uit o.a de index.php
Hierdoor kan een site wat sneller laden, want er word alleen geladen wat nodig is, en dat is bij bv ajax aanroepen wel prettig.

Happy coding ;-)

Active Member

Posts

Joined
Fri Oct 30, 2009 5:36 am

Post by i2Paq » Mon Dec 30, 2013 5:58 am

Je leeft nog! ;D

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by zrxraver » Mon Dec 30, 2013 6:48 am

Yep 8) alive and kicking en nog steeds actief in OC en nog genoeg andere tips ;-)
Maar eerst even kijken hoe de eerste 2 ontvangen worden, hoewel ze alleen in ons NL forum staan voor nu.

Active Member

Posts

Joined
Fri Oct 30, 2009 5:36 am

Post by i2Paq » Mon Dec 30, 2013 5:26 pm

Ik weet dat men voor de aankomende 2.0 release met iets dergelijks bezig zijn ;)

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by zrxraver » Thu Jan 09, 2014 11:58 pm

Ik heb het nog niet kunnen ontdekken in de 2.0
Ze zijn wel bezig met een modification class voor de system files.
Maar dat is iets heel anders.

Active Member

Posts

Joined
Fri Oct 30, 2009 5:36 am
Who is online

Users browsing this forum: No registered users and 53 guests