2010-04-17 11 views
0

Je veux modifier ce code qui fonctionne plutôt bien mais (ou je ne sais pas car je suis nouveau avec php) Je ne peux pas limiter le nombre de li affiché pour les éléments principaux dans le menu. Le code réel se fera l'écho de tous les éléments qu'il trouve, je veux limiter les tempsPHP Dynamic Count & Limit Options de menu

<li><a href='{$sLink}' {$sOnclick} target='_parent'>{$sPictureRep}{$sText}</a> 

cette ligne est renvoyé en écho .. disons que faire écho à seulement les 15 premiers éléments + un bouton « Plus » sous lequel pour afficher le reste des éléments sous-menus .. (menu horizontal à 2 niveaux). Quelqu'un peut-il m'aider s'il vous plaît? J'ai vraiment beaucoup essayé mais je ne suis pas un expert en PHP ..

Merci!

<?php 

require_once('../../../inc/header.inc.php'); 
require_once(DIRECTORY_PATH_INC . 'membership_levels.inc.php'); 
require_once(DIRECTORY_PATH_ROOT . "templates/tmpl_{$tmpl}/scripts/TemplMenu.php"); 

      class SimpleMenu extends TemplMenu 
      { 
      function getCode() 
      { 
      $this->iElementsCntInLine = 100; 
      $this->getMenuInfo(); 
      $this->genTopItems(); 
      return $this->sCode; 
      } 

      function genTopItem($sText, $sLink, $sTarget, $sOnclick, $bActive, $iItemID, $isBold = false, $sPicture = '') 
      { 
      $sActiveStyle = ($bActive) ? ' id="tm_active"' : ''; 

      if (!$bActive) { 
      $sAlt= $sOnclick ? (' alt="' . $sOnclick . '"') : ''; 
      $sTarget = $sTarget ? (' target="_parent"') : ''; 
      } 

      $sLink = (strpos($sLink, 'http://') === false && !strlen($sOnclick)) ? $this->sSiteUrl . $sLink : $sLink; 

      $sSubMenu = $this->getAllSubMenus($iItemID); 

      $sImgTabStyle = $sPictureRep = ''; 
      if ($isBold && $sPicture != '') { 
      $sPicturePath = getTemplateIcon($sPicture); 
      $sPictureRep = "<img src='{$sPicturePath}' style='vertical-align:middle;width:16px;height:16px;' />"; 
      $sText = '&nbsp;'; 
      $sImgTabStyle = 'style="width:38px;"'; 
      } 

      $sMainSubs = ($sSubMenu=='') ? '' : " {$sSubMenu} </a>"; 
      $this->sCode .= " 

       <li><a href='{$sLink}' {$sOnclick} target='_parent'>{$sPictureRep}{$sText}</a> 
       <div id='submenu'> 
       <ul> 
       <li>{$sMainSubs}</li> 
       </ul> 
       </div> 
       </li> 
      "; 
      } 
      } 

      $objMenu = new SimpleMenu(); 
      echo "<ul id='ddmenu'>"; 
      echo $objMenu->getCode(); 
      echo "</ul>"; 

    ?> 

Répondre

0

Il est difficile de dire exactement où vous voulez faire dans votre code, mais je figure que vous cherchez quelque chose comme:

<?php 
for ($i = 0; i < 15; i ++){ 
    echo "<li><a href='{$sLink}' {$sOnclick} target='_parent'>{$sPictureRep}{$sText}</a>" 
} 
echo "<li><a href='more' target='_parent'>More...</a>" 
?>