Zum Inhalt springen

$_GET + realURL

Erstellt am 18. Dezember 2006 · 7 Antworten · letzte Antwort am 29. Dezember 2006

Tags: Frage

dhoerpel ·

Hi,

in meiner Extension würde ich gerne eine Variable per $_GET übergeben und auf der nächsten Seite aufrufen. Nun habe ich die realURL- extension im Einsatz, die ja die Seiten in "statische" Webseiten umwandelt. Wie kann ich die $_GET- Variable auslesen, wenn die realURL- extension nur .../test.html generiert? Hat jemand eine Idee?
Vielen Dank im Voraus!

Gruss David

dhoerpel ·

Hi Steffen,

danke für die Antwort!
Ich denke, ich habe mich etwas missverständlich ausgedrückt. Gemeint ist folgendes:

Ich habe einen Link <a href="../test.html?id=[Get Vars]">test</a>. So ungefähr. 😉

test.html ist die "statische" Webseite, die mit RealUrl ausgegeben wurde, wenn ich jetzt noch eine Id ranhängen will bzw. auch wieder auslesen will, wie mache ich das, dass getVars in "test.html" mit reingepackt wird?

Gruss David

steffenk ·

ok,

damit Deine Url auch wieder von realurl umgewandelt wird, musst Du entweder die pi-Linkmethoden oder typolink benutzen, niemals den Link selber zusammenbauen 😉

dhoerpel ·

Ich habe mal versucht, mit typolink den Link zusammenzubauen, bin dann aber auf folgende Schwierigkeit gestoßen:

function getItems1() {

$res1 = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
$select_fields='*',
$from_table='fe_users, tx_yellowpages_project_profile',
$where_clause='fe_users.uid = tx_yellowpages_project_profile.user_id');


      while($row1 = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res1)) {
       $rows1[]=$row1;
	                          }

      return $rows1; 
        }

So lese ich die Daten aus der DB aus.
Dann übergebe ich sie so:

$rows1=$this->getItems1();
                foreach ($rows1 as $value1) {                   
                        $content2 .= '<td>'.$value1['name'].'</td><td>'.$link.'</td>';
										  }

$value1['name'] wird korrekt ausgegeben, $link leider nicht.

Meinen Link konstruiere ich so:

$temp_conf = $this->typolink_conf;
	$temp_conf["additionalParams"] .= "&tx_myextension_pi1[key]=value";
	$temp_conf["useCacheHash"] = $this->allowCaching;
	$temp_conf["no_cache"] = !$this->allowCaching;
$temp_conf["title"] = $value1['name'];
	$link = $this->local_cObj->typolink($temp_conf["title"], $temp_conf);

Das ist ein leicht modifiziertes Bsp. aus dem Hachmeister- Tutorial.
Als Ergebnis von $temp_conf["title"] = $value1['name']; bekomme ich nur den Name der Extension, Yellowpages, ausgegeben. Ich würde jedoch gerne den Namen als Link ausgegeben bekommen...
Weiß einer wie das geht?
Ich kann es auch gerne bei Bedarf online stellen...

Die zweite Frage von mir ist folgende:

Die URL ist gerade so aufgebaut:

yellowpages.html?no_cache=1&tx_myextension_pi1%5Bkey%5D=value

Kann ich ?no_cache=1&tx_myextension_pi1%5Bkey%5D=value nicht auch in yellowpages.html unterbekommen?
yellowpages.html ist die von realURL generierte Seite.

Vielen Dank für eure Hilfe!

Gruss David

Spyker ·

klar... es muss nur in der localconf für RealURL eine regel geben die diese Variable verarbeitet:
tx_myextension_pi1[key]

dhoerpel ·

Danke, du hast mir schon mal sehr weitergeholfen.
Ich werde nun die Variablen in Kürze in RealURL einarbeiten.
Im Zusammenhang mit $_GET hätte ich aber noch mal eine Frage:

Mein Link sieht derzeit so aus:

https://localhost/yellowpages.html?no_cache=1&tx_yellowpages_pi1[uid]=

Leider übergibt er die uid nicht.
Uid wird folgendermaßen generiert:

       $temp_conf["additionalParams"] = "&tx_yellowpages_pi1[uid]=";
	$temp_conf["additionalParams"] .= $rows2['uid'];

Später wird es dann so ausgegeben:

$content2 .= '<td>'.$this->local_cObj->typolink($value1['name'], $temp_conf).'</td>';

Wie kann ich uid an die URL ranhängen? Bei mir klappt es ja offensichtlich nicht...

Wenn ich dann tx_yellowpages_pi1[uid] wieder auslesen möchte, warum funktionniert folgendes nicht?

if($_GET['uid']) {...} else {..}

Vielen Dank für eure Hilfe im Voraus!