【问题标题】:laravel how to set class according to a messagelaravel如何根据消息设置类
【发布时间】:2014-08-12 12:52:34
【问题描述】:

我有一个下拉菜单,并且我已将当前打开的li 设置为红色。

此下拉菜单位于页面左侧。并且这个菜单存在于所有页面中。

所有页面只是设置页面中其他 div 的内容,但菜单始终适用于所有页面(希望你明白我的意思)。

在控制器中我这样做:

return View::make('restaurants.admins')->with('admin', $admin)->with('verticalMenu' , 'Admin');

所以在视图中我要检查这个verticalMenu的值,如果是admin,我会将admin的li类设置为open class等等。

我会给你一个我想要的例子。

这是关闭的li

<li class="dropdown">
    <a href="javascript:;">
        <i class="fa fa-user"></i> Restaurant <span class="caret"></span>
    </a>
    <!-- more html here -->
</li>

这是打开的 li,因为它有打开的类

<li class="dropdown active opened">
    <a href="javascript:;">
        <i class="fa fa-tasks"></i> Profile <span class="caret"></span>
    </a>
    <!-- more html here -->
</li>

所以基本上,我需要检查每个 li 之前的{{$verticalMenu}} ,对吗?,如果是,请问如何?如果没有,请问正确的方法是什么?

在你回答之后

这是错误页面,请看个人资料li是如何打开的:

![实际页面截图][1]

这很好,一切都很完美:

【问题讨论】:

  • 你能把你在浏览器中查看源码时得到的html代码也加进去吗?
  • @Unnawut 好的,我会将它添加到 jsfilddle 中,因为代码不会小,但它很容易不用担心
  • @Unnawut 我们去jsfiddle.net/89CcT
  • @Unnawut 没有错误,对吧? :)
  • 您的个人资料下拉列表中的.sub-nav 类包含style="display: block;"。删除该样式。

标签: php css laravel laravel-4 blade


【解决方案1】:

{{ }} 基本上变成了这样的代码:

{{ $verticalMenu }} 

进入这个:

<?php echo $verticalMenu; ?>

你想要实现的是:

<?php echo $verticalMenu == 'Admin' ? 'active opened' : '' ?>

所以使用刀片语法最直接的方法是:

<li class="dropdown {{ $vericalMenu == 'Admin' ? 'active opened' : '' }}">
    <!-- The rest of the list content here -->
</li>

【讨论】:

  • 你的回答对我有帮助90%,但是我有一个问题,当特定页面打开时,profile li 一直在打开,我可以给你看看 jsfiddle 中的代码吗?
  • 由于它仍然与您的问题相关,请尝试使用额外的代码进行编辑。 :)
  • 我为此添加了两张图片。如果您需要更多代码,请告诉我?虽然我知道你会需要对吗?
  • 现在看起来像是一个 css 类问题,您的代码中可能有一个额外的 openedactive 类破坏了它。
  • 不,我没有。我为您发布了整个代码。你能检查一下吗?感谢您的时间
猜你喜欢
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
  • 2018-01-29
  • 2015-08-12
  • 2018-09-13
相关资源
最近更新 更多