developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 11 years ago

Closed 11 years ago

#946 closed bug (worksforme)

Cannot redeclare template_meta_6f761XXX

Reported by: Lipki Owned by: lipki
Priority: normal Milestone: Jelix 1.1.4
Component: jelix:core Version: 1.1.3
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

Lorsque l'on récupère les métas d'un tpl dans le constructeur d'une reponseHtml. Et que ce même tpl est ensuite utiliser dans le corps de la page, on obtient cette erreur.

Fatal error: Cannot redeclare template_meta_6f76158740a45b57a067e1f331b90657() (previously declared in F:\www\xxx\xxx_html_t.php:3) in F:\www\xxx\xxx_html_t.php on line 10

Ce qui veut dire que la function est déclarer deux fois ou tous simplement "require" deux fois.

Et c'est le cas ici.

jIncluder.class.php ligne 104

        if($mustCompile){
            $compiler = $aSelector->getCompiler();
            if($compiler && $compiler->compile($aSelector)){
                require($cachefile);
                jIncluder::$_includedFiles[$cachefile]=true;
            }
        }else{
            require($cachefile);
            jIncluder::$_includedFiles[$cachefile]=true;
        }

en remplaçant les require par des require_once, on règle le problème.

Attachments (1)

jIncluder.diff (709 bytes) - added by Lipki 11 years ago.

Download all attachments as: .zip

Change History (6)

Changed 11 years ago by Lipki

comment:1 Changed 11 years ago by laurentj

  • Milestone set to Jelix 1.1.4
  • review changed from review? to review-

Y en a pas que deux. (note: pour des raisons d'optimisations, j'avais changé les require_once en require. voir r1096)

comment:2 Changed 11 years ago by bballizlife

@lipki : est-ce que tu aurais un cas d'utilisation le plus simple possible pour nous permettre de reproduire fidèlement ce bug pour réfléchir ensuite à comment le corriger ? Merci :)

comment:3 Changed 11 years ago by Lipki

Je peut rien te promettre pour cette semaine, mais je prend du repos la semaine prochaine, je vais en profiter pour faire le tour de tous mes tickets, et surement pour en ajouter.

comment:4 Changed 11 years ago by laurentj

Ce que je ne comprend pas, c'est que normalement, le template ne devrait pas être inclus deux fois... Il doit y avoir un problème autre part. Un test case en effet nous permettrait de comprendre le contexte dans lequel ce bug arrive.

comment:5 Changed 11 years ago by Lipki

  • Resolution set to worksforme
  • Status changed from new to closed

Je n'arrive pas a reproduire ce bug, que ce soit dans l'appli ou je l'ai découvert, ou dans une appli toutes neuve.

Du coup je ferme ce ticket.

Note: See TracTickets for help on using tickets.