TypoScript:按页面ID获取页面标题

时间:2011-07-07 08:24:43

标签: title typo3 typoscript

任务1。在 TypoScript 中,我需要为给定的网页ID {$my_page_uid}获取标题页面 TASK2。应根据当前语言

收到此页面标题

我需要像 temp.pTitle 这样的形式使用这个标题,所以我可以制作     第10页< temp.pTitle

6 个答案:

答案 0 :(得分:16)

乍一看,我想:哈哈!这是微不足道的......但实际上它不是。这是我在german forum中找到的第一部分的一个聪明的解决方案:

temp.pTitle = HMENU
temp.pTitle {
  special = list
  special.value = {$my_page_uid}
  1 = TMENU
  1 {
    NO {
      doNotLinkIt = 1
    }
  }
}

不知道这是否解决了语言部分,但它应该。

答案 1 :(得分:14)

temp.pTitle = TEXT
temp.pTitle.data = DB:pages:{$my_page_uid}:title

答案 2 :(得分:2)

lib.pagetitle = RECORDS
lib.pagetitle {
  source.data = page:uid
tables = pages
conf.pages = TEXT
conf.pages.field = nav_title
}

获取当前页面标题:

lib.pagetitle = TEXT
lib.pagetitle.field=title

答案 3 :(得分:0)

有一个更简单的解决方案..

10 = TYPOLINK
10.parameter = [your_page_id]

当您省略.value或.field时,它会自动将页面标题作为值。这甚至适用于多种语言。

重要说明:这个答案在2011年有效,TypoScript自......以后发生了明显的变化。

答案 4 :(得分:0)

我制作了这样的脚本,并且没有VHS功能:v.page.info(在TYPO3 v9上):

示例:

<f:cObject typoscriptObjectPath="lib.pageInfo" data="{pageUid: '48', pageField: 'subtitle'}" />

lib.pageInfo = COA  
lib.pageInfo {
    5 = LOAD_REGISTER
    5 {
        ## Set the content's field (default: title):
        pageField.cObject = TEXT
        pageField.cObject {
            field = pageField
            ifEmpty.data = title
        }

        ## Allows to override the current page ID:
        pageUid.cObject = TEXT
        pageUid.cObject {
            field = pageUid
            ifEmpty.data = TSFE:id
        }
    }

    20 = RECORDS
    20 {
        source.data = register:pageUid
        tables = pages
        dontCheckPid = 1
        conf.pages = TEXT
        conf.pages.field.data = register:pageField
    }

    90 = RESTORE_REGISTER }

答案 5 :(得分:0)

希望这对您有帮助

在您的流体模板中

<f:cObject typoscriptObjectPath="lib.pagetitle" data='your page id'/>

在打字稿中

lib.pagetitle = HMENU
lib.pagetitle {
special = list
special.value.current = 1
    1 = TMENU
    1 {
    NO {
        doNotLinkIt = 1
    }
}
}

让我知道这不起作用,我还有其他方法!