[Résolu] Foreach-1 plutôt que foreach

Eléphant du PHP | 60 Messages

18 oct. 2011, 11:39

Bonjour,
j'ai besoin de raccourcir d'un niveau (enlever le dernier) de mon breadcrumbs Joomla
ça se passe içi dans /includes/pathwy.php. Mais comment "breaker" le foreach à l'avant-dernier tour ?
Par avance merci pour votre aide
<?php
defined('JPATH_BASE') or die();
class JPathwaySite extends JPathway
{
	/** Class constructor */
	function __construct($options = array())
	{
		//Initialise the array
		$this->_pathway = array();
		$menu   =& JSite::getMenu();
		if($item = $menu->getActive())
		{	$menus	= $menu->getMenu();
			$home	= $menu->getDefault();
			if(is_object($home) && ($item->id != $home->id))
			{	[b]foreach[/b]($item->tree as $menupath)
				{	$url  = '';
					$link = $menu->getItem($menupath);
					switch($link->type)
					{	case 'menulink' :
						case 'url' :
							$url = $link->link;
							break;
						case 'separator' :
							$url = null;
							break;
						default      :
							$url = 'index.php?Itemid='.$link->id;
					}
					$this->addItem( $menus[$menupath]->name, $url);
				} // end foreach
			}
		} // end if getActive
	}
}
Modifié en dernier par lecer144 le 18 oct. 2011, 16:20, modifié 1 fois.

ViPHP
ViPHP | 2577 Messages

18 oct. 2011, 11:45

Peut être :
for ($i=0;£i<count($item->tree) - 1;$i++)
{
    $menupath = $item->tree[$i]
    ...

Eléphant du PHP | 60 Messages

18 oct. 2011, 12:14

Merci pour ton aide ..
C'est comma ça ? J'espère que je me suis trompé parce que sinon ça veut dire que ça ne change rien à mon breadcrumbs
.....
if(is_object($home) && ($item->id != $home->id))
			{
				// DEBUT TEST pour un niveau de moins dans le breadcrumbs Joomla
				for ($i=0;£i<count($item->tree) - 1;$i++)
				{
    					$menupath = $item->tree[$i];
				// FIN TEST
				// ORIGINAL
				//foreach($item->tree as $menupath)
				//{
					$url  = '';
					$link = $menu->getItem($menupath);

					switch($link->type)
					{
						case 'menulink' :
						case 'url' :
							$url = $link->link;
							break; etc .....

ViPHP
ViPHP | 2577 Messages

18 oct. 2011, 13:54

Pas sur que ca marche, mais ca se teste rapidement.

Edit : pour une raison inconnue, mes variables son préfixées par £ au boulot (Natural), ca laisse des traces. Désolé^^
Modifié en dernier par Mazarini le 18 oct. 2011, 14:14, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 oct. 2011, 14:11

perso je suis certain que tu t'est gouré for ($i=0;£i<count($item->tree) - 1;$i++) :mrgreen:

c'est con d'avoir copier / coller une coquille sans même relire :/

@+
Il en faut peu pour être heureux ......

lecer
Invité n'ayant pas de compte PHPfrance

18 oct. 2011, 14:58

ça me paraissait bizarre alors j'avais testé les deux, en $ et £ ... vu que c'est la même touche je m'étais dis qu'il y avait peut-être une erreur de frappe. mais bon ça ne change rien ...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 oct. 2011, 15:10

Modération : merci d'utiliser les balise [php] pour la lisibilité des posts
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer