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

问题描述 投票:11回答:6

任务1。在TypoScript中,我需要获取给定页面id {$my_page_uid} Task2的页面标题。应根据当前语言接收此页面标题

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

title typo3 typoscript
6个回答
16
投票

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

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

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


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

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

0
投票

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

10 = TYPOLINK
10.parameter = [your_page_id]

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

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


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 }

0
投票

愿这对你有所帮助

在流体模板中

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

在Typoscript

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

让我知道这不起作用我有其他方式!

© www.soinside.com 2019 - 2024. All rights reserved.