TypoScript / Typo3:如何使用 header_link 值构建页面的 sub-content?

TypoScript / Typo3: How to build sub-content of a page using header_link value?

如何使用打字稿sub-content嵌套内容)构建页面 参考 parent 的 header_link 字段?

所需的输出类似于:

<h1>Title of parent</h1>
<p class="prt">Body of parent</p>
<h3>Title of Child</h3>
<p class="cld">Contents of child</p>

我的打字样例:

temp.myParentVal = CONTENT
temp.myParentVal {
  table = tt_content
  select {
    begin = 1
    orderBy = sorting
    where = (colPos = 1)
  }
  renderObj = COA 
  renderObj {

  10 = TEXT  
  10 {
    required = 1
    wrap = <h1> | </h1>
    stdWrap.field = header
  }
  20 = TEXT  
  20 {
    required = 1
    wrap = <p class="prt"> | </p>
    stdWrap.field = bodytext
  }


  #                                                                #
  #  WHAT SHOULD I DO HERE TO SHOW THE CHILD CONTENT OF THIS PAGE  #
  #  (REFERENCED BY header_link FIELD IN THE PARENT'S ROW),        #
  #  WHICH HAS THE FORMAT OF <child_pid#child_uid>, EG.'11#28'     #
  #                                                                #


  stdWrap.wrap = <div> | </div>
}

我想利用 parent 的 header_link 字段值来生成 child 的内容。 (我使用的是 TYPO3 v. 6.2.14)

您可以使用嵌套的 CONTENT 元素并通过正则表达式拆分 header_link,如下所示:

30 = CONTENT
30 {
  table = tt_content
  select {
    uidInList {
      field = header_link
      stdWrap.replacement.10 {
        search = /^.+#/
        replace = 
        useRegExp = 1
      }
    }
    pidInList {
      field = header_link
      stdWrap.replacement.10 {
        search = /#.+$/
        replace = 
        useRegExp = 1
      }
    }
  }
  renderObj = COA
  renderObj {
    10 = TEXT  
    10.value {
      required = 1
      wrap = <h3> | </h3>
      field = header
    }
    20 = TEXT  
    20.value {
      required = 1
      wrap = <p class="cld"> | </p>
      field = bodytext
    }
  }
}

此外,我想建议您直接在 TEXT 元素上使用 field 属性(有效)。但我在文档中查找了它:

stdWrap properties are available on the very rootlevel of the object. This is non-standard! You should use these stdWrap properties consistently to those of the other cObjects by accessing them through the property "stdWrap".

https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Text/Index.html

由于 value 是一个 stdWrap 对象,您可以像我上面那样使用它。