--- Original Nachricht ---
Absender: Koller Michel
Datum: 17.12.2009 11:06:
[...]
Im TSREF steht darüber:
It goes like this:
$menuItemsArray[] = pageRow1;
mir ist hier nicht klar wie die Struktur des geforderten Arrays aussehen
soll der zurückgeben werden muss,
ich vermute das "pageRow1" wieder ein Array sein soll mit den Daten des
Datensatzes drin?
Dann steht:
A "pageRow" is a record from the table "pages" with all fields selected
(SELECT * FROM...)
Also hier aus der Tabelle "pages" in meinem falle aber aus der Tabelle der
Datensätze aus denen ich eine Navi machen möchte?
Dann steht noch:
If you create fake page rows, make sure to add at least "title" and "uid"
field values.
....also im Minimum das Feld Titel und uid. Da meine Navi aber immer die
selbe Seite aufrufen soll nur mit anderen Parametern (also der uid des
Datensatzes).
Ich tu mich hier echt schwer, evt kann mir jemand mitteilen wo ich den
Denkfehler habe
Danach sollte man im Typoscript denn Array so übergene können denke ich :
lib.contentNavi.special = userdefined
lib.contentNavi.special.file < plugin.tx_meinplugin2_pi2
Hilft das Bespiel nun weiter:
SETUP
#PRS+ 20060527
[PIDinRootline={$plugin.tx_fdfxwekuartists_pi1.pid}]
includeLibs.wekuartists =
EXT:fdfx_weku_artists/pi1/class.tx_fdfxwekuartists_pi1.php
temp.AtoZMenu=COA
temp.AtoZMenu{
10=TEXT
10{
value=Künstlermenü
wrap=<div style="display:none;">|</div>
}
20=HMENU
20{
special = userfunction
special.userFunc=tx_fdfxwekuartists_pi1->makeMenuArray
wrap=<ul class="mainNavi2">|</ul>
1 = TMENU
1 {
target=_top
NO = 1
NO {
allWrap=<li class="mainNavi2No
mainNavi2NO-WEKU">|</li>
}
ACT = 1
ACT < .NO
ACT {
allWrap=<li class="mainNavi2Act
mainNavi2ACT-WEKU">|</li>
}
IFSUB = 1
IFSUB < .NO
IFSUB{
allWrap=<li class="mainNavi2No
mainNavi2SUB-WEKU">|</li>
}
}
}
}
#Gegebenenfalls die beiden Zeilen in MAINsetup kopieren.
page.10.subparts.wkMainNavi2 >
page.10.subparts.wkMainNavi2 < temp.AtoZMenu
[end]
#PRS- 20060527
Und die Funktion:
function makeMenuArray($content,$conf) {
$lConf= $conf['userFunc.'];
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$menu= $this->makeAlphabetIndexMenuArray($GLOBALS['TSFE']->tmpl,
$GLOBALS['TSFE']->sys_page, '', $lConf, 1);
return $menu;
}
function makeAlphabetIndexMenuArray(& $tmpl, & $sys_page, $id= '',
$conf= array (), $mCount= 1)
{
$menuArr=array();
$retMenu= array ();
if(!isset($_GET['listindex']) || empty($_GET['listindex']))
$listIndex='A';
else $listIndex=$_GET['listindex'];
/* generate alphabetical index */
for($i=65; $i<91; $i++) {
$params=array('listindex' => chr($i),);
$cHashArray=t3lib_div::cHashParams(t3lib_div::implodeArrayForUrl('',$params));
$params['cHash']=t3lib_div::shortMD5(serialize($cHashArray));
$linkData=$this->pi_getPageLink($GLOBALS['TSFE']->id,'',$params);
// basic menu data
$tmpMenu=array(
'title' => strtoupper(chr($i)),
'subtitle' => 'Künstlerindex '.chr($i),
'_OVERRIDE_HREF' => $linkData,
);
// default item state
if(chr($i)==$listIndex) { $subArray=array('ITEM_STATE'
=> 'ACT'); }
else { $subArray=array('ITEM_STATE' => 'IFSUB'); }
$tmpMenu=t3lib_div :: array_merge($tmpMenu, $subArray);
unset($subArray);
$menuAry[]=$tmpMenu;
unset($tmpMenu);
}
// get initials of all artists
$artistInit=array();
$table='tx_fdfxwekuartists';
$result=$GLOBALS['TYPO3_DB']->exec_SELECTquery(
'ucase(left(last_name,1)) as initial, count(last_name)
as counter',
$table,
' 1=1 '.$this->cObj->enableFields('tx_fdfxwekuartists'),
'initial',
'initial'
);
while($row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) {
$artistInit[$row['initial']]=$row['counter'];
}
// no initials -> item state "no"
if(is_array($menuAry))
{
reset($menuAry);
}
else
{
$menuAry=array();
}
foreach ($menuAry as $key => $item) {
$initial=$item['title'];
if(!isset($artistInit[$initial])) {
$item['ITEM_STATE']='NO';
}
$retMenu[]=$item;
}
return $retMenu;
}
Greets.
--
loans that change lives http://www.kiva.org
_____________________________
uon GbR
http://www.uon.li
http://www.xing.com/profile/Peter_Russ
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german