【问题标题】:TYPO3 6.2 extbase pageType in TemplateTYPO3 6.2 extbase pageType in Template
【发布时间】:2014-08-26 16:30:33
【问题描述】:

我想将来自控制器的操作用作具有 pageType 的 Ajax 请求,但我还想在页面上使用相同的操作作为内容元素。为什么我应该创建两个动作?

但现在我不知道如何将<f:link.action> 与实际的pageType 一起使用?我可以手动设置选项 pageType <f:link.action pageType="12345">。但这应该自动像

<f:link.action pageType="{pageType}">

你有什么想法,我该怎么做?

谢谢

【问题讨论】:

    标签: templates typo3 fluid extbase


    【解决方案1】:

    这个问题没有解决办法。

    【讨论】:

      【解决方案2】:

      反问:自动基于...什么?

      TYPO3 中的标准页面编号为 0,默认情况下它也用于所有链接 ViewHelpers,如果您想使用其他内容,您需要在视图中准确写入 (pageType="12345") 或,例如在您的扩展中的 setup.txt 文件中配置它:

      plugin.tx_yourextension.settings.ajaxPageType = 12345
      

      所以你可以在你的视图中使用它:

      <f:link.action pageType="{settings.ajaxPageType}">
      

      这种方法的缺点是你需要在设置和插件的引导程序中重复这个 pageNum,无论如何这比每次检查到底是哪个数字要好。

      提示:不要忘记刷新系统缓存以将 setup.txt 更改考虑在内。

      附言

      当然,我假设您正在引导您的 ajax 操作,例如 ie:

      yourAjaxAction = PAGE
      yourAjaxAction {
      
        typeNum = 12345
        10 = USER
        10 {
          userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
          extensionName = YourExtension
          pluginName = YourFePluginRegisteredProperly
          vendorName = VENDOR_NAME
        }
      
        config {
          disableAllHeaderCode = 1
          xhtml_cleaning = 0
          admPanel = 0
          debug = 0
          no_cache = 1
        }
      }
      

      如果你这样做 - 你不需要使用f:link.action VH,如果你不这样做......你应该开始:)

      【讨论】:

      • 基于它调用的位置。如果我将操作作为内容元素,则其中的所有链接都应以 pageType = 0 呈现。如果它从 ajax 调用,则所有链接都应具有 pageType = 12345
      • 但这并不能解决问题。模板中的链接仍然在没有 pageType 的情况下呈现
      猜你喜欢
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      相关资源
      最近更新 更多