web-dev-qa-db-fra.com

Impossible d'appeler getModel à partir du contrôleur

Je développe un composant pour Joomla 3.x et je rencontre un problème avec JControllerLegacy getModel.

Lorsque j'essaie de l'appeler depuis mon controller.php dans la fonction d'affichage de la classe CasehandlerController, l'exécution est interrompue sans erreur, il s'agit simplement d'une page vierge, comme si la fonction était indéfinie.

Le même code fonctionne correctement sur mon serveur de développement local, mais échoue sur le serveur de production lors de cet appel. La fonction est comme ci-dessous:

function display($cachable = false, $urlparams = false) 
{
    $this->configuration = getConfiguration();
    // set default view if not set
    $input = JFactory::getApplication()->input;
    $input->set('view', $input->getCmd('view', 'Casehandler'));
    $view = $this->getView( $input->get('view'), 'html' );
    echo 'model:';
    $model = $this->getModel('Casehandler');// closing single quote missing here

    echo 'model done.';
    $view->setModel($model, true );
    $view->setLayout( 'default' );
    $view->display();
}

"modèle:" se fait l'écho et "modèle fait." ne fait pas.

J'ai essayé de résoudre ce problème en faisant écho aux lignes de la classe de modèle, mais sans réponse non plus. L'appel de getModel () sans argument produit également le même résultat.

Quel pourrait être le problème ici lorsque le même code fonctionne correctement sur mon serveur local?

1

Après avoir débogué cela davantage en faisant écho aux lignes de la classe JControllerLegacy dans la fonction getModel.

J'ai eu un indice de la variable $ prefix, affichant le nom du modèle sous la forme casehandlerModel au lieu de CasehandlerModel.

Changer le nom de fichier du modèle de casehandler.php à Casehandler.php était la solution au problème ...

1