Tabelleninhalt wird nicht in die eigentliche Tabelle geschrieben

  • mietzer mietzer
    Padawan
    0 x
    55 Beiträge
    0 Hilfreiche Beiträge
    09. 06. 2009, 08:06

    Ich habe eine Extension für mich angepasst, eine Tabelle. Jetzt wird der Inhalt aber nicht in die Spalten geschrieben, sondern ausserhalb. Die Marker bleiben als Inhalt in der Tabelle stehen.

    1. <?php
    2. require_once(PATH_tslib.'class.tslib_pibase.php');
    3.  
    4.  
    5. class user_tabelle_pi1 extends tslib_pibase {
    6. var $prefixId = 'user_tabelle_pi1'; // Same as class name
    7. var $scriptRelPath = 'pi1/class.user_tabelle_pi1.php'; // Path to this script relative to the extension dir.
    8. var $extKey = 'user_tabelle'; // The extension key.
    9.  
    10. function main($content, $conf) {
    11. $this->conf = $conf;
    12. $this->pi_setPiVarDefaults();
    13. $this->pi_loadLL();
    14. $this->pi_USER_INT_obj = 1; // Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!
    15.  
    16.  
    17. $content="";
    18. $marker=array();
    19.  
    20. $tmpl=$this->cObj->fileResource("fileadmin/tabelle.html");
    21. $tmpl=$this->cObj->getSubpart($tmpl,"###TABELLE###");
    22. $tmpl_eintrag=$this->cObj->getSubpart($tmpl,"###EINTRAG###");
    23. $tabellePageId=$conf["tabellePageId"];
    24. if (!intval($tabellePageId)) $tabellePageId=$GLOBALS["TSFE"]->id;
    25. $res=$GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","user_tabelle_main",
    26. "deleted=0 AND hidden = 0 AND pid ='".$tabellePageId."'");
    27. while($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {
    28. $marker["###STRASSE###"]=$row["strasse"];
    29. $marker["###ZIMMER###"]=$row["zimmer"];
    30. $marker["###ETAGE###"]=$row["etage"];
    31. $marker["###QM###"]=$row["qm"];
    32. $marker["###MIETE###"]=$row["miete"];
    33. $marker["###EXPOSE###"]=$row["expose"];
    34.  
    35.  
    36. $content.=$this->cObj->substituteMarkerArrayCached($tmpl_eintrag, $marker);
    37. }
    38. $content.=$this->cObj->substituteSubpart($tmpl,"###EINTEAG###", $content);
    39.  
    40. return $content;;
    41.  
    42. }
    43.  
    44. }
    45.  
    46. ?>

    [TS]plugin.user_tabelle_pi1.templateFile=fileadmin/tabelle.html[/TS]

    [HTML]<!--###TABELLE### begin-->
    <table border="1" width="100%">
    <!--###EINTRAG### begin-->
    <tr>
    <td>###STRASSE###</td>
    <td>###ZIMMER###</td>
    <td>###ETAGE###</td>
    <td>###QM###</td>
    <td>###MIETE###</td>
    <td>###EXPOSE###</td>
    </tr>
    <!--###EINTRAG### end-->
    </table>
    <!--###TABELLE### end-->
    </body>
    </html>[/HTML]

    Typo3 Version 4.2.6

    Vielleicht hat ja jemand ne Idee


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2236 Beiträge
    17 Hilfreiche Beiträge
    09. 06. 2009, 09:43

    Hallo.

    Also wenn der PHP-Teil kopiert ist und genau so bei Dir ind er Extension ist, dann dürfte es am Tippfehler des Markers in Zeile 38 liegen.

    Viele Grüße
    Julian

  • mietzer mietzer
    Padawan
    0 x
    55 Beiträge
    0 Hilfreiche Beiträge
    09. 06. 2009, 11:03

    Ja an dem, und noch ein paar anderen Tippfehlern lags, jetzt schreibt er den Text in die Tabelle rein, aber auch extra nochmal außerhalb.

    Neuer geänderter Code

    1. <?php
    2.  
    3. require_once(PATH_tslib.'class.tslib_pibase.php');
    4.  
    5.  
    6. class user_tabelle_pi1 extends tslib_pibase {
    7. var $prefixId = 'user_tabelle_pi1'; // Same as class name
    8. var $scriptRelPath = 'pi1/class.user_tabelle_pi1.php'; // Path to this script relative to the extension dir.
    9. var $extKey = 'user_tabelle'; // The extension key.
    10.  
    11. function main($content, $conf) {
    12. $this->conf = $conf;
    13. $this->pi_setPiVarDefaults();
    14. $this->pi_loadLL();
    15. $this->pi_USER_INT_obj = 1;
    16.  
    17. $content="";
    18. $marker=array();
    19. $img_pfad="fileadmin/user_upload/pdf.jpg";
    20. $tmpl=$this->cObj->fileResource("fileadmin/tabelle.html");
    21. $tmpl=$this->cObj->getSubpart($tmpl,"###TABELLE###");
    22. $tmpl_eintrag=$this->cObj->getSubpart($tmpl,"###EINTRAG###");
    23. $tabellePageId=$conf["tabellePageId"];
    24. if (!intval($tabellePageId)) $tabellePageId=$GLOBALS["TSFE"]->id;
    25. $res=$GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","user_tabelle_main",
    26. "deleted=0 AND hidden = 0 AND pid ='".$tabellePageId."'");
    27. while($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {
    28. $marker["###STRASSE###"]=$row["strasse"];
    29. $marker["###ZIMMER###"]=$row["zimmer"];
    30. $marker["###ETAGE###"]=$row["etage"];
    31. $marker["###QM###"]=$row["qm"];
    32. $marker["###MIETE###"]=$row["miete"];
    33.  
    34. $conf["expose."]["file."]["10."]["file"]=$img_pfad.$row["expose"];
    35. if ($this->cObj->fileResource($img_pfad.$row["expose"])){
    36. $marker["###EXPOSE###"]=$this->cObj->cObjGetSingle($conf["expose"],$conf["expose."]);
    37. }else{
    38. $marker["###EXPOSE###"]=$this->cObj->cObjGetSingle($conf["expose_default"],$conf["expose_default."]);
    39. }
    40. $content.=$this->cObj->substituteMarkerArrayCached($tmpl_eintrag, $marker);
    41. }
    42. $content.=$this->cObj->substituteSubpart($tmpl,"###EINTRAG###", $content);
    43. return $content;
    44. }}
    45. ?>

    [TS]plugin.user_tabelle_pi1 {
    testObjekt = IMAGE
    testObjekt.file = GIFBUILDER
    testObjekt.file {
    XY = 20,20
    backColor = red
    }
    # Pfad zur Designvorlage als Parameter angeben
    templateFile = fileadmin/tabelle.html

    # So soll ein Foto eines Tieres formatiert werden.

    bild = IMAGE
    bild.file = GIFBUILDER
    bild.file {
    XY = [10.w]+2, [10.h]+2
    backColor = black
    10 = IMAGE
    # Der Pfad zum Bild wird später dynamisch ersetzt.
    10.file = unbekannt
    10.file.width = 250
    10.offset = 1,1
    }
    # Dieses Bild soll angezeigt werden, wenn kein Foto vorhanden ist.
    bild_default = IMAGE
    bild_default.file = GIFBUILDER
    bild_default.file {
    XY = 20, 20
    backColor = white
    10 = TEXT
    10.text = N/A
    10.fontFile = fileadmin/fonts/verdana.ttf
    10.fontSize = 20
    10.fontColor = black
    10.niceText = 0
    10.offset = 30,25
    }
    }
    [/TS]

    [HTML]<link rel="stylesheet" href="fileadmin/page.css" media="all" type="text/css" />
    <!--###TABELLE### begin-->
    <table class="exttabelle" width="100%">
    <!--###EINTRAG### begin-->
    <tr><td class="extfarbe" width="165">Gebiet / Straße</td><td class="extfarbe" width="45">Zimmer</td><td class="extfarbe">Etage</td><td class="extfarbe">qm</td><td class="extfarbe">Miete gesamt</td><td class="extfarbe">Expose</td></tr>
    <tr>
    <td>###STRASSE###</td>
    <td>###ZIMMER###</td>
    <td>###ETAGE###</td>
    <td>###QM###</td>
    <td>###MIETE###</td>
    <td>###EXPOSE###</td>
    </tr>
    <!--###EINTRAG### end-->
    </table>
    <!--###TABELLE### end-->
    </body>
    </html>[/HTML]

    außerdem zeigt er auch das Bild nicht an, was bei EXPOSE kommen sollte

  • 1