Mod funkcji PHP odp. za generowanie linków w MENU

rud3bwoy

Avatar: rud3bwoy

2016-09-03 04:53

Witam, na tyle nie ogarniam PHP że nie potrafię tego zrobić.

Chcę aby funkcja generowała mi przy każdym linku w menu inną klasę css, czyli np. <a class="1">, <a class="2"> itd.

Aktualnie zrobiłem tak aby nazwa klasy była pobierana z ID strony ale wolę aby funkcja dawała po kolei.

Myślę że to jest prosta modyfikacja i uzyskam pomoc.

Aktualnie wygląda to tak:


/**
* Displays page in the menu - default settings
* @return string
* @param array $aData
* @param array $aParametersExt
*/
function listPagesMenuView$aData$aParametersExt ){
  
$sClassName null;
  
$sJeden null;
  if( isset( 
$aParametersExt['bSelected'] ) )
    
$sClassName .= 'selected';
    
$sJeden .= $aData['iPage'];
  return 
'<li'.( isset( $sClassName ) ? ' class="'.$sClassName.'"' null ).'><a class="'.$sJeden.'" href="'.$aData['sLinkName'].'">'.$aData['sName'].'</a>'.$aParametersExt['sSubMenu'].'</li>';
// end function listPagesMenu

» Quick.Cart v6.x

Filip

selekcjoner

Avatar: selekcjoner

2016-09-03 11:00

A tak przypadkiem nie chodzi o Quick CMS'a ?

Krystian

selekcjoner

Avatar: selekcjoner

2016-09-03 11:20

W pliku core\pages.php w funkcji: listPagesMenu znajdź:

$content null;


i zamień na:

$content null;
$i 0;


Znajdź:

$content .= listPagesMenuView$this->aPages[$iPage], $aParametersExt );


i zamień na:

$content .= listPagesMenuView$this->aPages[$iPage], $aParametersExt );
$i++;


Znajdź:

$aParametersExt['iElement'] = $iElement;


i zamień na:

$aParametersExt['iElement'] = $iElement;
$aParametersExt['sClassMenu'] = 'box'.$i;



Następnie w pliku templates\default\_lists.php pod linią w funkcji listPagesMenuView:

$sClassName .= 'selected';


dodaj:

  if( isset( $aParametersExt['sClassMenu'] ) )
    
$sClassName .= ' '.$aParametersExt['sClassMenu'];



Jeśli chodzi tylko o style to lepiej css :nth-child():
.menu-1 li:nth-child(1){background:red} itd

Krystian

rud3bwoy

Avatar: rud3bwoy

2016-09-04 00:44

Faktycznie, zapomniałem o tym selektorze :)

Chodzi o Quick CMS 6, każda pozycja w menu ma przypisaną inną ikonkę google icons.

Teraz zauważyłem że lepiej jednak jest używać ID strony w nazwie klasy, ikonki nie zamienią się miejscami gdy dodamy lub usuniemy pozycję z menu.


Dzięki. Pozdrawiam.

Filip

Do góry
o nas | kontakt