Hallo,
#angry# Ich versuche gerade die Ergebnisse eine Abfrage als Link in Frontend darzustellen.
Ich will aber für jedes Ergebnis, der Afangbuchstabe als Anker definieren, und auf meine Linkliste von A bis Z ein Verweis zu diese Anker haben.
Wie kann ich das machen?
Das zeigt mir eine Liste mit Links.
$marker = array();
Eine Liste von A bis Z als link
for($i=65; $i<=90;$i++)
{ $items[$j] = chr($i); $j++; }
$url =
$this->pi_getPageLink(
$GLOBALS['TSFE']->id,'',
array($this->prefixId=>
array('mode'=>$items[$j])));
$marker["###BUCHSTABE###"] =
$this->pi_linkToPage
($this->pi_list_modeSelector($items),
$GLOBALS['TSFE']->id,'',$url);
Ich will diese links als Verweis zu jeder Ergebnis $result['name']definieren mit Anker.
$query =
$GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tx_extname_eintrag', 'deleted = 0');
while($result = mysql_fetch_array($query))
{
$content .= $this->pi_list_linkSingle($result['name'],$uid,$cache=FALSE,$mergeArr = array(),$urlOnly= FALSE,$altPageId=0);
}
return $content
kann mir jemand helfen?
Meinst du sowas?
http://www.gris.uni-tuebingen.de/lehrstuhl/personen.html#mitarbeiter
Wieso nicht einfach einen Anker vor den Single-View-Link?
$content .= '<a name="A" id="A"></a>';
$content .= $this->pi_list_linkSingle($result['name'],$uid,$cache=FALSE,$mergeArr = array(),$urlOnly= FALSE,$altPageId=0);
Und in der Linkliste eben Links zu den Ankern.
Ja! genau sowas meine ich, das will ich haben.
Du meinst für die Linklist sollte ich dann die Anker so setzen:
$j=0;
for($i=65; $i<=90;$i++) { $items[$j] = chr($i); $j++;}
$url = $this->pi_getPageLink($GLOBALS['TSFE']->id,'',
array($this->prefixId=>array('name'=>$items)));
$marker["###BUCHSTABE###"] = $this->pi_linkToPage($this->pi_list_modeSelector($items),$GLOBALS['TSFE']->id,'',$url);
Und für die Ergenisse machst du nur eine Abfrage?
foreach($items){
$content .= '<a name="$items" id="$items"></a>';
$content .= $this->pi_list_linkSingle($result['name'],$uid,$cache=FALSE,$mergeArr = array(),$urlOnly= FALSE,$altPageId=0);
}
wie kann ich die angeklickte Buchstabe für die Abfrage nehmen?
Ohje, das ist schon ziemlich lange her. Ich bin kein guter Programmierer und auf die Extension kann ich nicht mehr zugreifen. Du musst dir halt eine Logik basteln. Die Schritte sind aber nicht so schwer und in etwa so:
1) DB-Abfrage auf deine Tabelle mit den Personen, sortiert nach (z.B.) Nachname absteigend, also von A-Z
2) Für die Buchstabenliste und die eigentlichen Datensätze am besten 2 verschiedene Variablen füllen
3) das Ergebnis bzw. alle zurückgelieferten Datensätze durchgehen und schauen:
-> Anfangsbuchstabe des Datensatzes anschauen. Buchstabe schon in der Liste vorhanden? Ja, dann nicht hinzu. Nein, dann in die Liste aufnehmen und zwar als Link auf einen Anker auf diesen Buchstaben.
-> Die Datensätze an sich sammelst du in der anderen Variablen. Jedes mal, wenn in dieser Liste ein Datensatz hinzukommt, der einen anderen Anfangsbuchstaben hat, dann musst du davor einen Anker für diesen Buchstaben setzen, der als Ziel für die Ankerlinks aus der Buchstabenliste dient.
Überleg dir die Logik (schreib sie auf) und setze sie im Programm um.
Das hat Funktionniert, 🙂 nach jeder Buchstabe kommt die Liste mit alle Datensätze, die mit diese Buchstabe anfangen.
Ein weiteres Problem ist das anzeige von der Einzelansicht.
Zum Beispiel Auf Ihre, wie du den Link zu jeder Einzelne Datensatz gemacht?
Gruß