Bonjour.
J'ai un petit nouveau bug de changement d'affichage de menu de mon projet USSD (ce que j'appelle: "PAGINATION") qui pourtant fonctionnait avant que je ne fasse des modifications dans une autre partie de mon projet.
Comme vous pouvez le constater sur la capture d'écran que je viens de vous envoyer, la Page suivante (
7 à
12)
sélectionnée en bleu sur cette capture d'écran, du Menu apparait juste en dessous de l'index
alors que quand on envoie le message "99" qui actionne l'option "Next", la 1ère liste de Menu de l'index par défaut (
1 à
6) devrait
disparaître et laisser place à la liste de Menus suivante (
7 à
12)
.
LE CODE QUI GERE L'AFFICHAGE DES MENUS EST LE SUIVANT:
Code : Tout sélectionner
function toString(){
$objectString='';
$items=$this->children;
$bufferLimit=(count($items)==0)?1:$this->getBufferLimit()+1;
do{
$bufferLimit-=1;
$objectString=$this->recurseMenu($items,$bufferLimit);
}while(strlen($objectString>160));
$this->index=$bufferLimit;
return $objectString;
}
function getBufferLimit() {
$len=count($this->children);
$margin=$len-$this->index;
if($margin<5)
return $this->index+$margin;
else
return $this->index+6; //Permet de définir le Nombre de Menu à afficher au niveau de l'index "/ussd/receiver.php" dont le Menu est "/ussd/MyTree.php".
}
Comment donc modifier le
return $this->index+6 dans ma fonction
getBufferLimit pour qu'il affiche SEULEMENT les 6 prochaines liste de Menu même quand on clique sur l'action "99. Next" au lieu de les afficher en dessous des précédents comme on le voit actuellement sur la capture d'écran ci-dessus sachant qu'elle est également utilisé dans la fonction "toString" ci-dessous ???
Merci de m'aider s'il vous plaît.
Bonjour.
J'ai un petit nouveau bug de changement d'affichage de menu de mon projet USSD (ce que j'appelle: "PAGINATION") qui pourtant fonctionnait avant que je ne fasse des modifications dans une autre partie de mon projet.
[img]https://www.developpez.net/forums/attachments/p623892d1660703480/php/langage/modifier-fonction-systeme-pagination-qu-n-affiche-6-prochains-menus/ussd-menu.png[/img]
Comme vous pouvez le constater sur la capture d'écran que je viens de vous envoyer, la Page suivante ([B]7[/B] à [B]12[/B]) [B][COLOR="#0000FF"]sélectionnée en bleu[/COLOR][/B] sur cette capture d'écran, du Menu apparait juste en dessous de l'index [B]alors que quand on envoie le message "[B]99[/B]" qui actionne l'option "[B]Next[/B]"[/B], la 1ère liste de Menu de l'index par défaut ([B]1[/B] à [B]6[/B]) devrait [B][I]disparaître et laisser place à la liste de Menus suivante[/I][/B] ([B]7[/B] à [B]12[/B])[B].[/B]
LE CODE QUI GERE L'AFFICHAGE DES MENUS EST LE SUIVANT:
[CODE]function toString(){
$objectString='';
$items=$this->children;
$bufferLimit=(count($items)==0)?1:$this->getBufferLimit()+1;
do{
$bufferLimit-=1;
$objectString=$this->recurseMenu($items,$bufferLimit);
}while(strlen($objectString>160));
$this->index=$bufferLimit;
return $objectString;
}
function getBufferLimit() {
$len=count($this->children);
$margin=$len-$this->index;
if($margin<5)
return $this->index+$margin;
else
return $this->index+6; //Permet de définir le Nombre de Menu à afficher au niveau de l'index "/ussd/receiver.php" dont le Menu est "/ussd/MyTree.php".
}[/CODE]
Comment donc modifier le [B]return $this->index+6[/B] dans ma fonction [B]getBufferLimit[/B] [B]pour qu'il affiche SEULEMENT les 6 prochaines liste de Menu même quand on clique sur l'action "[B]99. Next[/B]" au lieu de les afficher en dessous des précédents comme on le voit actuellement sur la capture d'écran ci-dessus sachant qu'elle est également utilisé dans la fonction "toString" ci-dessous ???[/B]
Merci de m'aider s'il vous plaît.