Detailansicht ohne fremder Content anzeigen?

  • Friederich Friederic...
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    18. 01. 2005, 16:42

    Hallo,
    Ich habe mir mal eine Extension geschrieben, welche ich auf meiner Seite als Contentelement eingebaut habe.
    Der Seiten-Aufbau sieht folgendermassen aus:
    [quote:6f74d673a8]
    ******************
    * TEXT *
    ******************
    * MEIN PLUGIN *
    ******************
    [/quote:6f74d673a8]

    Auf dieser Seite wird die Liste meiner Records angezeigt - soweit so gut...

    Mein Problem:
    Wenn ich nun den Link fürs Detail aufrufe erscheint trotzdem noch immer das Content-Element Text! Wie kann ich veranlassen dass sobald ich in die Detailansicht wechsle nur noch der Content des Plugins ausgegeben wird?
    Sollte also im Detail folgendermassen ausehen:
    [quote:6f74d673a8]
    ******************
    * MEIN PLUGIN *
    ******************
    [/quote:6f74d673a8]

    Bin für jegliche Tipps dankbar!

    Gruss Rolf


  • 1
  • mstuebner mstuebner
    Jedi-General
    0 x
    1370 Beiträge
    0 Hilfreiche Beiträge
    18. 01. 2005, 17:16

    [quote:6efd429bfc="Friederich"]Mein Problem:
    Wenn ich nun den Link fürs Detail aufrufe erscheint trotzdem noch immer das Content-Element Text! Wie kann ich veranlassen dass sobald ich in die Detailansicht wechsle nur noch der Content des Plugins ausgegeben wird?
    Sollte also im Detail folgendermassen ausehen:
    [quote:6efd429bfc]
    ******************
    * MEIN PLUGIN *
    ******************
    [/quote:6efd429bfc][/quote:6efd429bfc]
    Die mir bekannten Plug-ins realisieren das alle mit einer Extraseite für Details.

  • waldosparding waldospar...
    Jedi-Meister
    0 x
    309 Beiträge
    0 Hilfreiche Beiträge
    19. 01. 2005, 08:23

    Deine Liste enthält doch bestimmt Links für die Detailansicht. Du musst also in deinem Script die übergebenen Vars abprüfen (gibts in tslib_pibase Funktionen für) und dann halt nur Details für den einen Datensatz ausgeben.

    Waldo

  • Friederich Friederic...
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    20. 01. 2005, 11:41

    @waldosparding
    Der link sieht momentan folgendermassen aus:
    [quote:e08decc0bc]
    http://test.loginfo.ch/index.php?id=172&no_cache=1&tx_bgsevents_pi1[pointer]=0&tx_bgsevents_pi1[mode]=1&tx_bgsevents_pi1[showUid]=1&tx_bgsevents_pi1[command]=register
    [/quote:e08decc0bc]

    Zu finden auf der Seite (etwa mitte):
    [quote:e08decc0bc]
    http://test.loginfo.ch/index.php?id=172
    [/quote:e08decc0bc]

    Könntest du mir noch etwas genauer sagen was ich genau machen muss, verstehe noch nicht genau was du mit dem letzten Posting meinst.

    Gruss und vielen Dank,
    Rolf

  • waldosparding waldospar...
    Jedi-Meister
    0 x
    309 Beiträge
    0 Hilfreiche Beiträge
    20. 01. 2005, 11:54

    [quote:99f7725dbb]...tx_bgsevents_pi1[showUid]...[/quote:99f7725dbb]

    Dieser Teil des Links enthält ja den Befeht showuid, und in deinem Script kannst du die Variable abfragen. Die müsste in den PIVars stecken.
    Kann man so abrufen :

    $this->piVars

    Lass die mal mit debug ausgeben.

    Wenn du dann einen Wert für "showuid" findest, musst du in deinem Script eben nicht mehr die Liste ausgeben, sonder nur den einen Eintrag.

    Waldo

  • Friederich Friederic...
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    20. 01. 2005, 13:24

    @waldosparding

    Die main-Funktion sieht folgendermassen aus:
    [quote:04eeff79e2]
    function main($content,$conf) {
    switch((string)$conf["CMD"]) {
    case "singleView": list($t) = explode(":",$this->cObj->currentRecord);
    $this->internal["currentTable"]=$t;
    $this->internal["currentRow"]=$this->cObj->data;
    return $this->pi_wrapInBaseClass($this->singleView($content,$conf));
    break;
    default:
    if (strstr($this->cObj->currentRecord,"tt_content")) {
    $conf["pidList"] = $this->cObj->data["pages"];
    $conf["recursive"] = $this->cObj->data["recursive"];
    }
    return $this->pi_wrapInBaseClass($this->listView($content,$conf));
    break;
    }
    }
    [/quote:04eeff79e2]

    Wie kann ich den Wert "CMD" in der $conf setzten?
    Sorry, ist meine erste Extension und ich habe noch Mühe das Typo3 Framework zu verstehen.

    Gruss und vielen vielen Dank,
    Rolf

  • waldosparding waldospar...
    Jedi-Meister
    0 x
    309 Beiträge
    0 Hilfreiche Beiträge
    20. 01. 2005, 14:04

    [code:1:205f6c077b]function main($content,$conf) {

    // ungefähr s0
    $cmd = (string)$conf["CMD"];
    if ($this->piVars["showUid"]) $cmd = "singleView";
    switch($cmd) {

    case "singleView": list($t) = explode(":",$this->cObj->currentRecord);
    $this->internal["currentTable"]=$t;
    $this->internal["currentRow"]=$this->cObj->data;
    return $this->pi_wrapInBaseClass($this->singleView($content,$conf));
    break;
    default:
    if (strstr($this->cObj->currentRecord,"tt_content")) {
    $conf["pidList"] = $this->cObj->data["pages"];
    $conf["recursive"] = $this->cObj->data["recursive"];
    }
    return $this->pi_wrapInBaseClass($this->listView($content,$conf));
    break;
    }
    } [/code:1:205f6c077b]

    Viel Erfolg.

    Waldo

  • 1