Zum Inhalt springen

problem pi_linkToPage

Erstellt am 9. Oktober 2007 · 18 Antworten · letzte Antwort am 12. Oktober 2007

Tags: Frage

meik ·

hallo leute also ich habe da mal ein problem
ich möchte ein paar links erzeugen und die pageid wohin der link führen soll steht in ein arrayfeld drin ala array[wert][wert] wenn ich diesen jetzt an die id stelle setze erzeugt er mir keinen link ich habe schon versucht das arrayfeld in ein int umzuwandeln aber vergebens nix ändert sich und in den arrayfeld steht was drin ! gibt es evtl ne andere funktion zum erstellen die mein arrayfeld annimmt wäre dankbar für lösungsansätze

grüße meik

meik ·

naja habe ma ne zahl eingesetzt als '1' zb dann erzeugt er links dann habe ich globals pageid da macht er es auch nur wenn ich mein array mit zahlen habe und daraus welche nehme macht er es nicht ich habe schon gedacht flei umwandeln in int oder utf8 was weis ich aber hat auch net funktioniert also muss ich anscheind auf die typo3 funktion verzichten :/

Desmond ·

Bist du sicher das dein Array korrekt ist? Sonst gib mal als Test dein Array am Browser aus. Eigentlich sollte man schon Werte aus einem Array nehmen können.

print_r($meinArray);

Wenn es wirklich daran liegt dass man kein Array verwenden kann, kannst du ja den Array Wert in eine normale Variable speichern, und diese dann in die Funktion einfügen.

meik ·

bei mir ist alles korrekt habe au schon var_dump gemacht wegen des variablen typs ist alles richtig ich versteh das nicht warum das funktioniert wenn ich eine feste zahl habe aber wenn ich was dynamisch machen das es dann nicht geht

steffenk ·

der Funktion ist das völlig egal, wie Du den Wert übergibst, hauptsache es ist ein integer und die Seite ist auch aufrufbar

meik ·

also er erstellt mir keine links wenn ich da ein arrayfeld habe das ist fakt :/ würd nur gern wissen wieso

meik ·

hmm ist sehr verhurzt muss ich schon sagen habe jetzt mein var mit intval umgewandelt aber passiert wiedermal nix nuja habs jetzt hardcoded was auch funktioniert /*so aber mich wundert eins wenn man mal var_dump auf $GLOBALS['TSFE']->id macht zeigt der bei mir string an O-o sehr verrückt hier */
hmm komisch jetzt isses int nuja selbst wenn ich es umwandel funzt es net

meik ·

var_dump von $daten[$i][6] wo die ids stehn

string(2) "66" string(2) "66" string(2) "85" string(2) "85" string(2) "85"

$content .= $this->pi_linkToPage($daten[$i]['title'],intval($daten[$i][6]),'',array($this->prefixId."[uid]"=>$daten[$i][0])).':';
$content .= '<a href='.$_SERVER['PHP_SELF'].'?id='.$daten[$i][6].'&'.$this->prefixId."[uid]".$daten[$i][0].'>'.$daten[$i]['title'].'</a>';

steffenk ·

na bitte, in $daten[$i][6] steht nicht nur ein int sondern ein Array (4 elemente),
intval davon ergibt logischerweise 0.

Eine bessere Ausgabe erhälst Du mit

t3lib_div::debug($daten[$i][6],'$daten[$i][6]');
meik ·

öhm also ich durchlaufe eine schleife also das var_dump was ich ausgebe enthält nur ein wert und ist kein array einfach nur der string ist da drin

$daten[$i][6]
|66|

ergibt das debug

meik ·

ich durchlaufe eine schleife damit ich an dei einzellnen daten meines arrays komme die genau an daten[$i][6] stehen in den daten[$i][6] ist kein weiterer array enthalten sondern an dieser stelle ist ein String

Desmond ·

Wenn du mal den ganzen Code (also Schleife und Link) sowie der Teil wo die Arrays erstellt werden posten kannst, kann ich dir dann sagen wo der Fehler liegt. Aber so blicke ich nicht durch wo das Problem ist.

meik ·

hmm versuch du mal bei dir ein array zu erstellen mit zahlen zb 5 stück und dann
machst du wieder eine schleife und versuchst daraus 3 zahlen zu nehmen und mit den 3 zahlen jeweils ein link zu erstellen schau mal ob das bei dir funzt bei mir nämlich nicht :/

$this->pi_linkToPage('title',array[index],'',array(bla=>"test")); <- das funzt bei mir nicht

Desmond ·

Ich verwende die Funktion pi_linkToPage zum Beispiel so:

while($res = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($sel)){
	$params = Array('seite' => $seite);
	$image["file."]["width"] = "155c";
	$image["file."]["height"] = "155c";
	$image["titleText"] = "";
	$image["file"] = "uploads/tx_projektmenu/".$res['tx_projektmenu_uebersicht'];
	$content = '<div class="quadrat">'.$this->pi_linkToPage($this->cObj->IMAGE($image),  $res['uid'], '', $params).'</div>';
}

und dass ohne Probleme... Glaub mir, Du kannst Arrayinhalte in einem Link einsetzen. Der Fehler liegt sonst irgendwo.

meik ·

hmm also bei mir habe ich halt meine daten geholt die in ein array gepackt den dann sortiert und dann habe ich versucht daraus n link zu machen ich werde aber ma testweise so wie du es hast probieren ob er da was macht bis dahin erstma vielen dank für deine gedult 😃