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.

Nom : USSD MENU.png
Affichages : 345
Taille : 32,0 Ko

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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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+5; //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.