Typo3`jh_opengraphprotocol`扩展和自定义og:image tag

时间:2016-07-01 21:55:51

标签: typo3 typoscript typo3-6.2.x tt-news

我有一个问题,是否有人知道如何jh_opengraphprotocol扩展程序显示tt_news的第一张图片显示为<meta property="og:image" ...>

我尝试过很少的东西,现在我不得不将自定义图像值传递给该扩展程序。

从当前显示tt_news(TypoScript设置)获取第一张图片:

lib.tt_news_image = CONTENT
lib.tt_news_image {
  stdWrap.if.isTrue.data = GP:tx_ttnews|tt_news
  table = tt_news
  select {
    pidInList = 20
    recursive = 2
    where = CHAR_LENGTH(image) > 0

    andWhere.cObject = TEXT
    andWhere.cObject {
      data = GP:tx_ttnews|tt_news
      intval = 1
      wrap = uid = |
    }

  }
  renderObj = TEXT
  renderObj {
    field = image
    split {
      token = ,
      cObjNum = 1
      max = 1
      1.cObject = IMG_RESOURCE
      1.cObject {
        file {
          import = uploads/pics/
          import.current = 1
          width = 200m
          height = 200m
        }
        stdWrap.wrap = {TSFE:baseUrl}|
        stdWrap.insertData = 1
      }
    }
  }
}

这很好用。在FE中显示此值时,我会获得一个很好的URL来调整文件大小 - GREAT!

现在我希望将该值传递给扩展,这里遇到了一些问题。下面很少尝试......

#1 plugin.tx_jhopengraphprotocol.image = lib.tt_news_image

失败 - 没有任何反应,因为plugin.tx_jhopengraphprotocol.image是常量

#2 经过一番挖掘后,我发现插件正在将USER对象加载到page.669中,如下所示:

config.htmlTag_setParams := appendString(xmlns:og="http://ogp.me/ns#")

includeLibs.tx_jhopengraphprotocol = EXT:jh_opengraphprotocol/Classes/Service/OgRendererService.php
temp.tx_jhopengraphprotocol = USER
temp.tx_jhopengraphprotocol {
    userFunc = Heilmann\JhOpengraphprotocol\Service\OgRendererService->main
    type = {$plugin.tx_jhopengraphprotocol.type}
    image = {$plugin.tx_jhopengraphprotocol.image}
    sitename = {$plugin.tx_jhopengraphprotocol.sitename}
    description = {$plugin.tx_jhopengraphprotocol.description}
}
page.669 < temp.tx_jhopengraphprotocol

所以我试过page.669.image = lib.tt_news_image这是......

失败我收到了<meta property="og:image" content="http://domainname/lib.tt_news_image"/>

有人可以指导我如何正确地将lib.tt_news_image值加载到page.669.image吗?我认为这与USER类型有某种关系,参数(imagetype,...)不是由Typo引擎解释的,但我不知道如何克服它

我的一般问题是将第一个图片路径加载到og:image元标记,因此任何其他解决方案(不修复此代码或其他任何内容都非常受欢迎)。

谢谢!

0 个答案:

没有答案