0

我们的客户希望某些页面在菜单中具有不同的样式,具体取决于 FE 组访问。

这个想法是为某些仅对版主可见的菜单项提供一个小图标,以使版主清楚该页面仅对他们可用。

我确信我可以通过在 PHP 中实现逻辑来提出解决方案,但我更愿意在纯 TypoScript 中解决这个问题,以使站点的未来维护者更容易维护。

我喜欢通过基于 UID 的 CSS 应用样式的想法,但从长远来看,这似乎是一个维护地狱。

4

2 回答 2

1

您可以使用USR状态来应用不同的包装

10 = HMENU
10.1 = TMENU
10.1.wrap = <ul>|</ul>
10.NO = 1
10.NO.wrapItemAndSub = <li>|</li>
10.ACT < .NO
10.ACT.wrapItemAndSub = <li class="menu-active">|</li>
10.USR < .NO
10.USR.wrapItemAndSub = <li class="menu-user">|</li>

用户和活动没有组合,因此我推荐另一种方法。

根据处理后页面的一些页面属性修改链接:

10.NO.wrapItemAndSub.override = <li class="menu-user">|</li>
10.NO.wrapItemAndSub.override {
  # the list of matching fe groups
  if.value = 1,3
  if.isInList.field = fe_group
}

还要看看TypoScript条件的力量。http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.7.0/view/1/5/#id553579

于 2012-11-25T11:59:34.430 回答
0

两步要做:

  1. 仅为选定组设置Usergroup Access Rights这些页面(因此其他人看不到它们)
  2. 如果需要,使用TS 条件修改 CSS/JS 或其他任何内容。

样本

[usergroup = 1,2]
lib.moderator_menu = HMENU
// ... etc
[end]

向菜单项添加图标的最简单方法是使用 CSS:

<div id="main_menu">
  <a href="some-moderator-page.html" id="page_123" class="mod_link_icon">Moderators only</a>
</div>

并在 css 文件中:

#main_menu a {
    display:block;
    padding: 5px;
}

.mod_link_icon{
    padding-left:25px;
    background: url("img/moderator_icon1_20x20.png") no-repeat left top;
}

提示:您还可以使用 jQuery .addClass()为所选用户组的元素 设置所需mod_link_icon的类。#page_123

<div id="main_menu">
  <a href="some-moderator-page.html" id="page_123">Moderators only</a>
</div>

<script type="text/javascript">
    // displays only when user's in 'moderator' group
    $('#page_123').addClass('mod_link_icon');
</script>
于 2012-11-23T18:00:53.757 回答