2010-08-19 7 views
0

J'ai besoin de conseils sur la façon dont je peux mettre en œuvre cette aide d'action. actuellement, j'ai quelque chose commeZend Framework: Besoin de conseils sur la façon de mettre en œuvre une aide de contrôleur

class Application_Controller_Action_Helper_AppendParamsToUrl extends Zend_Controller_Action_Helper_Abstract { 
    function appendParamsToUrl($params = array()) { 
     $router = Zend_Controller_Front::getInstance()->getRouter(); 
     $url = $router->assemble($params); 

     if (!empty($_SERVER['QUERY_STRING'])) { 
      $url .= $_SERVER['QUERY_STRING']; 
     } 
     return $url; 
    } 
} 

mais comme vous pouvez le voir, je pense que la fonction doit être une fonction statique? mais comment cela trouvera-t-il dans ce Zend_Controller_Action_Helper thingy?

Répondre

1

Vous pouvez renommer également la fonction appendParamsToUrl() pour diriger()

function direct($params = array()) {...} 

Dans ce cas, you'l l être en mesure d'y accéder à partir du contrôleur avec

$this->_helper->appendParamsToUrl($params); 
3

rendre public la fonction et dans votre Bootstrap.php assurer l'aide du contrôleur peut être automatiquement chargé

// add paths to controller helpers 
Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH .'/controllers/helpers'); 

Vous devriez alors être en mesure d'appeler l'aide de votre contrôleur via

$this->_helper->appendParamsToUrl->appendParamsToUrl(); 
Questions connexes