【问题标题】:Parse field(uid) to TYPOSCRIPT Extbase Controller in HMENU将字段(uid)解析为 HMENU 中的 TYPOSCRIPT Extbase 控制器
【发布时间】:2013-11-25 17:26:09
【问题描述】:

我有一个使用图像和东西的 HMENU。 (为了简单起见,我在这里删除了那部分)

我想要的是每个 menuItem 都会调用控制器,从而将更多特殊情况(相关子链接)添加到菜单中。但是控制器需要知道哪个 pid 正在调用它。所以想法是使用设置将pid解析到控制器。

这行得通,但只有文本“pid”会被解析,而不是像 439 这样的值或 menuItem 得到的任何 pid。

如何解析字段的值?

如果有其他解决方案采用不同的方法也会很棒:)

我必须如何修改关键线:

settings.pageUid = TEXT
settings.pageUid.field = pid

打字稿:

temp.CE_SUBNAVIGATION = HMENU
temp.CE_SUBNAVIGATION {
  special = directory
  1 = TMENU
  #1.noBlur = 1

  1.wrap = <nav class="content-subnavigation-container">|</nav>

  1.NO = 1
  1.NO {
    doNotLinkIt = 1
    stdWrap.cObject = COA
    stdWrap.cObject {



      40 = USER
      40 {
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
        pluginName = reference
        extensionName = MyExt
        controller = Reference
        vendorName = VENDOR
        action = hmenulisting
        switchableControllerActions {
          Reference {
            1 = hmenulisting
          }
        }

        settings =< plugin.tx_myextname.settings
        persistence =< plugin.tx_myextname.persistence
        view =< plugin.tx_myextname.view
        update =< plugin.tx_myextname.update

        settings.pageUid = TEXT
        settings.pageUid.field = pid

      }



    }
  }
}

【问题讨论】:

  • 除了 Jost 的解决方案:您确定 Extbase 插件是实现您想要的唯一方法吗?这个解决方案听起来很奇怪:-)。
  • 如我所问,我愿意寻求更好的解决方案。这就是我首先想到的:)
  • 从您的描述中不清楚最终结果应该是什么。因此,很难帮助您使其变得更好。如果您使用所需的输出记录您的问题以及您现在在 Extbase 中执行的部分,我可以查看它。
  • 我知道,但我很难解释它 :) 好吧,我用 COA 和 CONTENT 自定义 mysql 查询换了另一种方式。这行得通,我不必在这里使用 extbase。

标签: typo3 typoscript extbase


【解决方案1】:

上次在这种情况下对我有用的是使用insertData

settings.pageUid = TEXT
settings.pageUid {
    value = {field:uid} # Not pid, thats the id of the parent page
    insertData = 1
}

【讨论】:

  • 不幸的是,这不起作用。我仍然得到 {field:uid} 作为字符串结果而不是实际的 uid
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-08
  • 2019-02-15
相关资源
最近更新 更多