Ok, j'ai trouvé le problème (merci pour ton envoi de script).
Quand ton bloc principal n'a aucun enregsitrement, alors la définition des sous-blocs est supprimée du modèle (normal car elle était englobée dans le bloc principal). Du coup, quand tu fais :
$TBS->MergeBlock('sous_bloc', $mysql,'SELECT * FROM matable WHERE id=%p1%');
Et ben TBS ne trouve pas la définition du bloc et donc ne sais pas que c'est une requête dynamique.
Pour se tirer d'affaire, tu peux déjà faire :
$nbr = $TBS->MergeBlock('bloc_princ',...);
if ($nbr>0) $nbr = $TBS->MergeBlock('sous_bloc',...); |
Je ne sais pas encore si on peut considérer ça comme un bug.
On pourrait demander à TBS de ne pas lancer la requête si aucun champ à fusionner n'est trouvé. Mais ça comporte aussi des inconvéniants.
En tout cas, je vais ajouter ça dans la FAQ.