Question

Je souhaite appeler une action du fichier contrôleur à partir d'un fichier .ctp dans cakephp.Est-il possible?oui, alors comment ?s'il vous plaît, aidez-moi.par ex.J'ai une action dans le contrôleur.utilisateurs_controller.php

<?php
class UsersController extends AppController {

    function get_category() {
        ....
    }

}
?>

Je veux l'appeler à partir du fichier /question/index.ctp.

Était-ce utile?

La solution

La bonne façon de faire est:

$this->requestAction(array('controller' => 'users', 'action' => 'get_category'));

Création du the CakePHP way url augmentera les performances (il ne devra pas utiliser le routeur). Aussi sera toujours le travail, tout en faisant comme:. « Utilisateurs / get_category » pourrait causer des ennuis quand vous n'êtes pas dans la page d'index

Il ne doit être utilisé dans des éléments (avec cache en particulier), le cas est différent -. Reefer ce Travis Leleu a écrit dans son commentaire

Autres conseils

Il convient de noter que vous ne devriez pas compter sur requestAction comme une pratique courante. requestAction est un appel très épuisant et ne doit être utilisée que si vous ne pouvez pas organiser votre code de toute autre manière.

Idéalement, vous enverriez les données dont vous avez besoin de votre action du contrôleur à la vue plutôt que de rappeler à votre contrôleur.

function my_action() {
   ...
   $this->set('category', $this->getCategory());
}

vous pouvez l'appeler comme $this->requestAction('controller'=>'users','action'=>'get_category')

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top