2016-10-20 3 views
0

Ich habe einen Helfer, den wir in allen unseren CakePHP-Apps verwenden, die ich versuche, um eine app-spezifische Methode zu erweitern. Ich möchte jedoch auf den Helfer anhand seines ursprünglichen Namens verweisen.Extend Helper, mit dem ursprünglichen Namen

zum Beispiel statt

$appSpecificHelperName->method() 

Ich möchte mein Kind Klasse von der Basisklasse Namen genannt haben:

$helperName->method() 

in der Ansicht.

Gibt es eine Möglichkeit, das zu tun? Dies ist speziell in Cake 1.2, aber die App wird im nächsten Jahr auf Cake 2 oder möglicherweise 3 aktualisiert, und ich würde gerne die Lösung für alle/alle Version (en) kennen.

Antwort

0

die Antwort in der Dokumentation gefunden:

Eine gemeinsame Einstellung der Klassenname Option zu verwenden ist, die Sie aliased Helfer in Ihre Ansichten erstellen können. Diese Funktion ist nützlich, wenn Sie $ this-> Html oder eine andere gemeinsame Helper Referenz mit einer benutzerdefinierten Implementierung ersetzen möchten:

// app/Controller/PostsController.php 
class PostsController extends AppController { 
    public $helpers = array(
     'Html' => array(
      'className' => 'MyHtml' 
     ) 
    ); 
} 


// app/View/Helper/MyHtmlHelper.php 
App::uses('HtmlHelper', 'View/Helper'); 
class MyHtmlHelper extends HtmlHelper { 
    // Add your code to override the core HtmlHelper 
} 
+0

.. funktioniert dies nur bei Cake 2+ – froodley

Verwandte Themen