PHP in extension template [Gelöst]

  • ProfPe ProfPe
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    06. 01. 2012, 10:01

    Hallo zusammen.
    HAbe schon etwas gelesen und bekomme es auch hin bei einem komplett leerem TS eine PHP datei einzubinden. Nun möchte ich aber bei folgendem TS statt mit css_styled_content den contentberich über ein php-script füllen. Das soll aber nur auf einer Subpage statt finden.
    Dachte das würde dann über ein extension template funktionieren, bekomme es aber nciht hin.

    1. # Configuring the Auto-Parser for main template:
    2. plugin.tx_automaketemplate_pi1 {
    3. # Read the template file:
    4. content = FILE
    5. content.file = fileadmin/templates/main/index.html
    6. # Here we define which elements in the HTML that
    7. # should be wrapped in subpart-comments:
    8. elements {
    9. BODY.all = 1
    10. BODY.all.subpartMarker = DOCUMENT_BODY
    11. HEAD.all = 1
    12. HEAD.all.subpartMarker = DOCUMENT_HEADER
    13. HEAD.rmTagSections = title
    14. TD.all = 1
    15. }
    16. # Prefix all relative paths with this value:
    17. relPathPrefix = fileadmin/templates/main/
    18. }
    19.  
    20. temp.menu = HMENU
    21. temp.menu {
    22. ### Erste Ebene ###
    23. 1 = TMENU
    24. 1 {
    25. wrap = <ul class="menu">|</ul>
    26. expAll = 1
    27. NO.wrapItemAndSub = <li class="folder">|</li>
    28.  
    29. ACT < .NO
    30. ACT = 1
    31. ACT.ATagParams = class="active"
    32. }
    33.  
    34. ### Zweite, dritte und vierte Ebene (Kopieren von erster Ebene) ###
    35. 2 < .1
    36. 3 < .1
    37. 4 < .1
    38. }
    39.  
    40. # Main TEMPLATE cObject for the BODY
    41. temp.mainTemplate = TEMPLATE
    42. temp.mainTemplate {
    43. # Feeding the content from the Auto-parser to the TEMPLATE cObject:
    44. template =< plugin.tx_automaketemplate_pi1
    45. # Select only the content between the <body>-tags
    46. workOnSubpart = DOCUMENT_BODY
    47. # Substitute the ###menu-left### subpart with some example content:
    48. subparts.menu-left < temp.menu
    49. # Substitute the ###content-main### subpart with some example content:
    50. subparts.content-main < styles.content.get
    51. }
    52. # Main TEMPLATE cObject for the HEAD
    53. temp.headTemplate = TEMPLATE
    54. temp.headTemplate {
    55. # Feeding the content from the Auto-parser to the TEMPLATE cObject:
    56. template =< plugin.tx_automaketemplate_pi1
    57. # Select only the content between the <head>-tags
    58. workOnSubpart = DOCUMENT_HEADER
    59. }
    60. # Default PAGE object:
    61. page = PAGE
    62. page.typeNum = 0
    63. # Copying the content from TEMPLATE for <body>-section:
    64. page.10 < temp.mainTemplate
    65. # Copying the content from TEMPLATE for <head>-section:
    66. page.headerData.10 < temp.headTemplate

    WIe veranlasse ich dass in dem extension template
    subparts.content-main < styles.content.get
    durch sowas ersetzt wird
    subparts.content-main < ERGEBNIS PHP-File

    Hoffe auf Anregungen
    Danke schon mal


  • 1
  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    1 Hilfreiche Beiträge
    06. 01. 2012, 15:04

    Hallo und herzlich Willkommen im Forum.

    Du kannst einen eigenen PHP Code anhand UserFunc ausführen.

    1. page.includeLibs.user_myClass = fileadmin/user/user_myClass.php
    2. temp.myUserFunc = USER
    3. temp.myUserFunc = user_myClass->myFunc
    4.  
    5. temp.mainTemplate = TEMPLATE
    6. temp.mainTemplate {
    7. # ...
    8. subparts.content-main < temp.myUserFunc
    9. # ...
    10. }

    1. <?php
    2. class user_myClass {
    3. public function myFunc($content,$conf) {};
    4. }
    5. ?>

    MfG,
    LuP

  • ProfPe ProfPe
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    06. 01. 2012, 15:23

    Danke für deine Antwort LuP.
    Werde ich auf jeden Fall noch testen. Habe immerhin auch schon was zum laufen bekommen was ich [url=http://www.typo3.net/tsref/cobject/php_script/?sword_list%255B%255D=%2524content]hier [/url] gefunden habe und mir dann noch minimal angepasst habe:

    +ext:

    1. temp.phpScript = PHP_SCRIPT
    2. temp.phpScript {
    3. file = fileadmin/test.php
    4. myVerySpecialOwnParameter = bla
    5. myParamArray {
    6. a = 1
    7. b = ja
    8. }
    9. }
    10. page.10.subparts.content-main = HTML
    11. page.10.subparts.content-main < temp.phpScript

    Da ich noch absolut neu bin in Sachen Tyop3 anpassen (bisher nur statische Seiten erarbeitet) wüsste ich dann noch gerne welche Variante besser ist bzw. wo Vor- und Nachteile liegen. Das Projekt dass ich ursprünglich mal Programmiert habe und jetzt auf T3 portieren soll ist schon relativ komplex, mit einigen Klassen, formularen und evtl. werde ich noch auf eine externe Datenbank (MySQL) zugreifen müssen.

    Soll alles nicht sofort passieren. Kann mich also schon noch gut belesen. Aber Meinungen was wieso oder wieso nicht besser ist wären da schon interessant.

    Und kann man bei dem Aufruf der PHP-Datei wie gewohnt die GET/POST-Variablen verarbeiten?

  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    1 Hilfreiche Beiträge
    06. 01. 2012, 15:42

    UserFunc ist immer vorzuziehen, damit hast Du samt brauchbare TYPO3 libraries wie u.a. t3lib_db, t3lib_div mit eingebunden. Dann stehen Dir t3lib_div::_GP, t3lib_div::_GET und t3lib_div::_POST, um auf GET- und POST-Parameter zu greifen. Mit PHP_SCRIPT hast du nur rohen PHP-Code, was aus Sicherheitsgründen schon nicht zu empfehlen ist. Ansonst möchte ich Dir noch den [url=http://typo3.org/documentation/document-library/core-documentation/doc_core_cgl/4.4.1/view/toc/0/]TYPO3 Coding Guidelines[/url] gerne ans Herz legen.

    MfG,
    LuP

  • ProfPe ProfPe
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    06. 01. 2012, 15:47

    *THUMBSUP*

    Das Forum ist mir jetzt schon mal sehr symphatisch...

    Danke noch mal LuP

  • 1