Excuser moi de mon absence je passais de wind*** a Linux.
Ajoute un test avant d'utiliser cet élément :
Je n'ai pas encore test pas eu le temps, le temps de me remettre les main dans le cambouis, et savoir ou j'en était et je teste.
Et franchement, y a-t-il une bonne raison pour utiliser un opérateur ternaire ?
en fait j'ai repris le tuto a la lettre
[quelque instant plus tard]
Voilou, j'ai remplacer
$lastID = (count($this->infoTpl[$type]) != 0) ? (count($this->infoTpl[$type])) : 0;
par
1 2 3 4 5
| if (!empty ($this->infoTpl[$type]) ) {
$lastID = count ($this->infoTpl[$type]) ;
} else {
$lastID = 0 ;
} |
et l'erreur notice a disparue, et pour répondre a ta question jml94, non je confirme apparemment il n'a y pas besoin, ça marche aussi bien.
1ere problème résolut. Merci.
Pour le cas de l'affichage conditionnel, étant débutant des les templates, je patauge carrément
je pencherait pour modifier ce bout de code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| // Récupration et formatage des tags
$startTag = '<!-- BEGIN '.$type.' -->';
$startTag = htmlentities($startTag);
$endTag = '<!-- END '.$type.' -->';
$endTag = htmlentities($endTag);
// Récupration de la clé des tags dans le tableau $infoArray
$startTag = (array_search($startTag, $infoArray)) + 1;
$endTag = (array_search($endTag, $infoArray)) - 1;
// Nombre de lignes entre les tags
$lengthTag = ($endTag - $startTag) + 1;
// Récupration de la portion du tableau
// délimite par les tags (tags non compris)
$blockTag = array_slice($infoArray, $startTag, $lengthTag);
// Remise en type 'string' et non plus 'array'
// Facilitera le remplacement des constantes par leurs donneés
$blockTag = implode("\n", $blockTag);
// Remplacement des constantes par leur données
foreach($info[$i] as $constant => $data) {
$data = (file_exists($data)) ? $this->includeFile($data) : $data;;
$blockTag = preg_replace('`{'.$type.'.'.$constant.'}`', $data, $blockTag);
}
// Ajout des données à la variable block globale pour la boucle
// Ajoute \n ou pas et ajoute les données
// de la nouvelle boucle à la suite de $block
$block = ($block == '') ? $blockTag : $block."\n".$blockTag; |
Partager