Zum Inhalt springen

Navigation im Extension

Erstellt am 8. April 2005 · 4 Antworten · letzte Antwort am 11. April 2005

Tags: Frage

ggsm ·

Hallo,

ich hab mich nun dazu durchgerungen ein Extension
zu schreiben. Nun bleib ich schon an etwas vermutlich
sehr leichtem hängen:

ich hab mein Hauptprogramm:

class xyz extends tslib_pibase
{
    function main($content, $conf) 
    {
        return "hallo<br>welt";
    }
}

bisher funktioniert das so alles wunderbar. Ich könnte
damit nun auch grössere Statische Inhalte darstellen
oder etwas aus einer DB generieren. Alles kein Problem.

Aber:
wie kann ich in meiner Extension Navigieren?

Ich möchte z.B. in meiner Extension einen Link
darstellen, wenn ich auf diesen klicke soll mir dann
die main routine etwas anderes darstellen:

    function main($content, $conf) 
    {
        $Return = "";
        $command = ????;
        switch($command) {
            case("showinfo"):
                $Return = "Hallo Welt<br>";
                break;
            default:
                $Return = "<a href="???">Hallo Welt anzeigen</a><br>";
                break;
        }
        return $Return;
    }

kann mir jemand helfen dieses minimal Programm zum
laufen zu bekommen? Wie kann ich den Wert an sich
selber wieder übergeben und sich selber mit der selben
page ID aufrufen wenn man auf den Link klickt?

Gruß ggsm

Flink ·
ggsm schrieb

Ich möchte z.B. in meiner Extension einen Link
darstellen, wenn ich auf diesen klicke soll mir dann
die main routine etwas anderes darstellen:

    function main($content, $conf) 
    {
        $Return = "";
        $command = ????;
        switch($command) {
            case("showinfo"):
                $Return = "Hallo Welt<br>";
                break;
            default:
                $Return = "<a href="???">Hallo Welt anzeigen</a><br>";
                break;
        }
        return $Return;
    }

Wie kann ich den Wert an sich
selber wieder übergeben und sich selber mit der selben
page ID aufrufen wenn man auf den Link klickt?

Versuch's mal mit

global $TSFE;
$id = $TSFE->id;

$Return =  '<A href="'.$this->getLinkUrl($id).'">'.'Hallo Welt anzeigen'.'</A>'
jenses ·

Versuch's mal mit
Code:

global $TSFE;
$id = $TSFE->id;

$Return = '<A href="'.$this->getLinkUrl($id).'">'.'Hallo Welt anzeigen'.'</A>'

Damit landest du zwar wieder auf der selben Seite, hast aber noch keinen Parameter übergeben, der irgendwie zur Programmablaufsteuerung dienen könnte.
Entweder übergibst du also per POST oder GET einen Wert,
z.B. ganz einfach

<input type="hidden" name="name" value="value">

,
oder du benutzt sessions.
In deiner main function fragst du diesen Wert ab:

 $command = $_POST['name'];
        switch($command) { 
...

viele Grüße
jenses