Sujet : Gestion de l'erreur 404, et configuration centralisée.

Bonsoir smile .

Longtemps après avoir créé ce sujet, je me retrouve encore une fois avec un problème avec la gestion de l'erreur 404.
J'ai donc ce code :

try {

    $controller->dispatch( );
} catch ( Hoa_Exception $e ) {

    $parameters = include HOA_DATA_CONFIGURATION_CACHE . '/Controller.php';
    $parameters['data.array.personal'] = array(
       'module'    => 'erreur', 
        'action'    => 'introuvable404'
    );

    $controller->addRequest( 0, $parameters );
    $controller->dispatch();
}

Utilisant la configuration centralisée, ce code me permet de récupérer la configuration, puis de rajouter les données permettant de charger le contrôleur d'erreur.
Or, je me retrouve avec cette erreur :
Hoa_View::setDirectory : (0) Application/View/MyTheme/ is not a directory. in /web/Framework/View/View.php at 153.

NB : Le dossier MyTheme n'existe effectivement pas, puisque je l'ai renommé en Default, et j'ai bien évidemment modifié la configuration pour que ce soit le nom utilisé.
Si je me réfère à l'exception levée, il faut que je trouve où le dossier MyTheme est encore défini comme le dossier des thèmes...

Une idée sur la résolution de ce problème (qui survient sur les pages d'erreur 404) big_smile ?

2

Re : Gestion de l'erreur 404, et configuration centralisée.

Hey smile,

Il faut redéfinir les configurations complètement. Ou sinon, tu fais un tableau un niveau plus haut qui contient tous tes paramètres, et tu réécris certaines entrées dans ton try/catch.
Ou sinon, c'est que ton cache n'est pas à jour : $ hoa maintenance:cache pour le remettre à jour smile.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Gestion de l'erreur 404, et configuration centralisée.

Bon, ça fait un moment que je n'y ai plus touché, mais j'ai trouvé une solution qui fonctionne parfaitement big_smile .

Après avoir tout essayé pour avoir ma page d'erreur 404 (cela inclut redéclarer toute les configurations), j'ai fait une petite recherche dans le contenu des fichiers du dossier Framework/, et il s'avère qu'il s'agit tout bêtement des valeurs par défaut de Hoa_Controller_Front que je ne peux pas écraser (ou tout du moins, je n'ai pas réussi).

Ma solution, pas la meilleure, certainement, mais fonctionnelle, a été de retranscrire la configuration personnalisée dans les valeurs par défaut roll .

Il faudra malheureusement que je le refasse à la prochaine mise à jour de Hoa (ce que j'oublierai de faire évidemment hmm ). Mais bon, c'est pas comme si une nouvelle version sortait tous les jours, 5 minutes de temps en temps, ça me tuera pas lol !