如果GET var不为空,则TYPO3添加css

时间:2013-01-01 12:30:56

标签: css typo3

我的目标很简单。如果某个GET参数在当前页面的URL中不为空,我想向它注入一些css。

在下面的例子中,如果URL中存在tx_multishop_pi1[page_section],我想隐藏所有内容(例如建议)。

page{
  headerData.960= TEXT
  headerData.960.data = GP:tx_multishop_pi1|page_section
  headerData.960.required = 1
  headerData.960.value(
  <style type="text/css">
  body{
    display:none !important;
  }
  </style>
  )       
}

但这不起作用。我可以尝试[globalString = GP:tx_multishop_pi1|page_section = somehting],但我不希望这样。如果tx_multishop_pi1[page_section] var存在(无米值)

,我想注入css

2 个答案:

答案 0 :(得分:2)

可以使用globalString条件和if.isTrue.data

来完成此操作
[globalString = GP:tx_multishop_pi1|page_section > 0]
    page.headerData.960 = TEXT
    page.headerData.960 {
        value (
            <style>
                body{
                   display:none !important;
                }
            </style>
        )
       if.isTrue.data = GP:tx_multishop_pi1|page_section
    }
[end]

答案 1 :(得分:0)

您可以使用userFunc条件(位于TSref Conditions的底部)来执行(几乎)任何比较。

要记住的最重要的事情是这个函数必须以user_前缀开头,有一些旧的文档,没有提到或提供错误的样本。以下是您的示例(将其添加到localconf.php

function user_multishopSectionExists() {
    $gp = t3lib_div::_GP('tx_multishop_pi1');
    return (is_array($gp) && array_key_exists('page_section', $gp)) ? true : false;
}

因此您可以在TS设置字段中使用它:

[userFunc = user_multishopSectionExists()]
  page.headerData.960= TEXT
  page.headerData.960.value(
    // etc...
  )
[end]

当然最好写一般的匹配器即。类似于:

[userFunc = user_paramExists("tx_multishop_pi1|page_section")]