hel*_*ikh 6 css php cakephp cakephp-2.0 cakephp-2.1
我有类似这个问题的问题
我在default.ctp文件中有一个页面,我想在链接上添加"活动"类.我如何识别页面的当前网址,然后在链接上应用该类..我已经按照答案在那里
$url = $this->Html->url('INPUT_THE_URL') ;
$active = $this->request->here == $url? true: false;
Run Code Online (Sandbox Code Playgroud)
我不知道我怎么能在我的代码中这样做...抱歉,因为我是cakephp的新手..这是我的代码
**default.ctp file**
<li>
<?php echo $this->Html->link('Dashboard', array('controller'=>'users','action' => 'controlpanel'), array('title' => 'Dashboard','class' => 'shortcut-dashboard'));?></li>
<li> <?php echo $this->Html->link('Contacts', array('controller'=>'contacts','action' => 'index'), array('title' => 'Contacts','class' => 'shortcut-contacts'));?></li>
Run Code Online (Sandbox Code Playgroud)
我想像这样添加一个类li
<li class = 'active''>
Run Code Online (Sandbox Code Playgroud)
AnN*_*LaI 12
这是一个简单的逻辑如下
<li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='controlpanel') )?'active' :'inactive' ?>">
<?php echo $this->Html->link('Dashboard', array('controller'=>'users','action' => 'controlpanel'), array('title' => 'Dashboard','class' => 'shortcut-dashboard'));?>
</li>
<li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='index') )?'active' :'inactive' ?>">
<?php echo $this->Html->link('Contacts', array('controller'=>'contacts','action' => 'index'), array('title' => 'Contacts','class' => 'shortcut-contacts'));?></li>
Run Code Online (Sandbox Code Playgroud)
如果您有一个不同的控制器并且您声明了一个具有相同名称的方法,并且上面的代码不起作用,那么您可以执行以下操作:
<li class="<?php echo (($this->params['controller']==='hotels')&& ($this->params['action']=='view') )?'active' :'' ?>" >
<?php echo $this->Html->link('Hotels', array('controller' => 'hotels', 'action' => 'view')); ?>
</li>
<li class="<?php echo (($this->params['controller']==='packages')&& ($this->params['action']=='view') )?'active' :'' ?>" >
<?php echo $this->Html->link('Packages', array('controller' => 'packages', 'action' => 'view')); ?>
</li>
Run Code Online (Sandbox Code Playgroud)
这里view方法在不同的控制器中声明.我希望它对你有所帮助.