TYPO3 v6.1 TemplaVoila - 将userFunc添加到特定模板部件

时间:2013-12-29 19:24:32

标签: typo3 typoscript fluid typo3-6.1.x

如何通过带有单独PHP内容的USER_INT在单个页面中通过TypoScript以编程方式替换{content_left}的内容。

<div class="container">
  <div class="header span-28">
    <f:format.raw>{header}</f:format.raw> 
  </div>
    <img class="logo" src="../fileadmin/logo.png" alt="logo">
    <a href="./"><img class="headerimg" src="../fileadmin/header_img.png" alt="headerimg"></a>
  <div class="menu span-28">
    <f:format.raw>{main_menu}</f:format.raw>
  </div>
  <div class="service span-28">
    <f:format.raw>{service_menu}</f:format.raw>
  </div>
  <div class="content span-6 append-1">
    <f:format.raw>{content_left}</f:format.raw>
  </div>
  <div class="content span-22 last">
    <f:format.raw>{content_right}</f:format.raw>
  </div>
  <div class="footer span-28 last">
    <f:format.raw>{footer}</f:format.raw>
  </div>
</div>

我目前的TypoScript看起来像这样:

# 
temp.info = USER_INT
temp.info {
  userFunc = user_various->listContentRecordsOnPage
  reverseOrder = 1
  debugOutput = 1
}
page.content_left < temp.info

但它不起作用。 :(没有替换。

感谢您的帮助。

干杯 kk3003


gsnerf是绝对正确的,它是一个FLUIDTEMPLATE元素。 不幸的是,这个TYPOSCRIPT设置为它应该出现的单个页面不起作用,请问有什么想法吗?

# Include the PHP file with custom code
includeLibs.user_various = fileadmin/php/example_listRecords.php

# 
temp.info = USER_INT
temp.info {
  userFunc = user_various->listContentRecordsOnPage
}

page = PAGE
page {
   typeNum = 0

   metaCharset = utf-8

   includeCSS{
    file10  = fileadmin/css/blueprint/screen.css
    file20  = fileadmin/css/blueprint/print.css
    file20.media = print

    file100 = fileadmin/css/main.css
    file300 = fileadmin/css/service.css
    file400 = fileadmin/css/mainMenu.css
    file500 = fileadmin/css/sliding-box.css
    file600 = fileadmin/css/gridelements.css
   }

   includeJS {
        file10 = fileadmin/js/accordion.js
   }
}

[browser = msie]
page.includeCSS.file30 = fileadmin/css/blueprint/ie.css
page.includeCSS.file30.media = screen
[global]

page.meta {
  MSSmartTagsPreventParsing = true
  imagetoolbar  = false
}

# https_enforcer
page.5 < plugin.tx_httpsenforcer_pi1

# Create a Fluid Template
page.10 = FLUIDTEMPLATE
page.10 {
  # Set the Template Pathes
  file = fileadmin/templates/html/template.html
  partialRootPath = fileadmin/templates/html/partials/
  layoutRootPath = fileadmin/templates/html/layouts/
  variables {
    header < lib.header
    content_left < lib.contentLeft
    content_right < temp.info
    main_menu < lib.mainMenu
    service_menu < lib.serviceMenu
    footer < lib.footer
  }
}

由于

1 个答案:

答案 0 :(得分:1)

我不确定这与templavoila有什么关系?这对我来说似乎更像流畅。如果是这种情况,您必须更换

page.content_left < temp.info

以下内容:

10 = FLUIDTEMPLATE
10 {
    [...]

    variables.content_left < temp.info
}

假设您已经有FLUIDTEMPLATE定义,您只需要将变量行复制到该定义中。