function php dans udt : cannot redeclare function -
Jean le Chauve - 17/07/2013
Bonjour,
Depuis le passage à 1.11.7, si vous avez créé une udt contenant une function php, cette dernière risque de provoquer une erreur de type : cannot redeclare function()
Pour remédier à ce problème, vous devez intégrer la function dans une condition :
Code :
if (!function_exists(votrefunction)) {
function votrefunction(){
....
}
}
function php dans udt : cannot redeclare function -
jissey - 17/07/2013
merci du tuyau, j'ai eu ce message dans un plugin.
Je croyais que c'était parce qu'une autre fonction du même nom existait quelque part.
function php dans udt : cannot redeclare function -
jce76350 - 17/07/2013
Citation :merci du tuyau, j'ai eu ce message dans un plugin.
Si tu parles du plugin formulaire et l'affichage sur la liste cela n'a rien a voir
car ce soucis existe depuis .... un bail
function php dans udt : cannot redeclare function -
Jean le Chauve - 17/07/2013
Le passage en 1.11.7 m'a amené pas mal de problèmes (pas tous résolus) et pas de changelog détaillé pour s'y retrouver :mad:
function php dans udt : cannot redeclare function -
jissey - 17/07/2013
oui, je parle de ça.
Donc concernant les UDT, cela signifie que le système les charges plus d'une fois!!??
function php dans udt : cannot redeclare function -
Jean le Chauve - 17/07/2013
@Jce
J'ai eu le problème pour cette udt :
http://www.cmsmadesimple.fr/forum/viewtopic.php?id=4698
function php dans udt : cannot redeclare function -
Jean le Chauve - 17/07/2013
Je me demande si le système ne charge pas les udt avant de processer le template, puis de nouveau en processant le template
function php dans udt : cannot redeclare function -
Jean le Chauve - 17/07/2013
Aie ! Je n'ai pas le message d'erreur sur une install fraîche 1.11.7, seulement sur les versions upgradées.
Je continue les vérifications.
function php dans udt : cannot redeclare function -
Jean le Chauve - 17/07/2013
Je viens de tester sur un upgrade depuis 1.11.5 fraîche et essayé également à partir d'un gabarit de news et pas d'erreur.
Soit cela provient du fait que j'utilisais l'udt dans un gabarit de cataloger, soit parce que j'avais upgradé depuis 1.10.3.
Je ne puis malheureusement pas trop chipoter sur le site à problème, vu qu'il est en prod.
Si jamais quelqu'un à le problème, espérons qu'il déposera un message sur ce post avec les détails.
function php dans udt : cannot redeclare function -
pierrepercee - 19/07/2013
Cela traîne depuis pas mal de temps, de mémoire Jean je crois bien que c'était le même souci évoqué ici :
Lien thread
avec toi d'ailleurs. J'avais ouvert un bug sur le .org
ici
sans plus de succès d'ailleurs. Je trouve cela plutôt gênant mais bon....
function php dans udt : cannot redeclare function -
Jean le Chauve - 19/07/2013
Salut, c'est un plaisir de te relire
Ça semble bien être plus ou moins le même problème, sauf que maintenant nous avons le message d'erreur et que nous pouvons facilement modifier notre code. Un jour ou l'autre Calguy, Stikky ou un autre développeur tomberont dessus et corrigeront.
Il y a tellement de "petits" bugs à corriger et si peu de développeurs. On a quand même un très bon outil qui nous permet de travailler dans de bonnes conditions.
function php dans udt : cannot redeclare function -
pierrepercee - 19/07/2013
Salut Jean,
pour sûr c'est un excellent CMS qui nous laisse pas mal de libertés. Les coups de chapeaux aux développeurs impliqués ne sont jamais trop nombreux. J'y vais donc du mien également.
Comme tout système, il reste toutefois perfectible.. En le critiquant (au sens positif) on contribue à l'améliorer, enfin je crois...
Je vais bientôt livrer un site entièrement "responsive", j'ai pu jouer à loisir avec les gabarits des news et ceux du module product. Un vrai régal ce CMS...Made Simple. Je ne me voyais pas faire la même chose avec un autre CMS.
Pour en revenir à l'histoire qui nous intéresse, je pense que la correction n'est peut être pas aussi simple et comme une version majeure est maintenant sur le feu, je peux comprendre le point de vue des développeurs. S'ils écoutent des hurluberlus de mon espèce, il leur faudra bientôt des journées de 28 heures