1

我需要在页面上显示作者详细信息。

这是我获取页面内容的 cruser_id 的打字稿:

    20 = CONTENT
    20{
        table = tt_content
        select{
         selectFields = cruser_id
        }
        renderObj = COA
        renderObj{
         10 = TEXT  
         10{
         required=1      
         field=cruser_id
         }
        }
      }

如何获取与 cruser_id 关联的用户名?

4

1 回答 1

3

由于您没有指定代码的上下文,因此这里有一个示例,它只是扩展了您提供的代码。

20 = CONTENT
20 {
  table = tt_content
  select {
    selectFields = cruser_id
  }
  renderObj = RECORDS
  renderObj {
    source.field = cruser_id 
    tables = be_users
    dontCheckPid = 1
    conf.be_users = TEXT
    conf.be_users {
      field = username
      noTrimWrap = || |
    }
  }
}

解释:您正在使用CONTENTcObject 获取内容并告诉 TYPO3 将其呈现为RECORDScObject。这个对象现在有用户的 UID 可用,cruser_id并且可以在其配置中使用它source.fieldRECORDS因此从表中加载记录(UID = cruser_id),be_users然后告诉 TYPO3 将其呈现为TEXTcObject。因为它可以是任何 cObject(例如 COA),所以输出可以更复杂,包括来自后端用户记录的其他字段。


更复杂的例子

20 = CONTENT
20 {
  table = tt_content
  select {
    selectFields = cruser_id, tstamp
  }
  renderObj = COA
  renderObj {
    10 = TEXT
    10 {
      field = tstamp
      date = j/n/Y
      noTrimWrap = |Last modified: ||
    }

    20 = RECORDS
    20 {
      source.field = cruser_id 
      tables = be_users
      dontCheckPid = 1
      conf.be_users = COA
      conf.be_users {
        stdWrap.noTrimWrap = |<br />Author: ||

        10 = TEXT
        10 {
          field = realName
        }

        20 = TEXT
        20 {
          field = username
          noTrimWrap = | (|)|
        }
      }
    }
  }
}
于 2012-10-08T11:34:00.417 回答