【发布时间】:2011-06-25 01:34:31
【问题描述】:
我设置了一个变量,以便控制器可以使用它来将值“current”传递给用户浏览到的位置。它工作正常,但我需要一个条件编程来补偿其他页面。假设我浏览到页面类别,类别控制器会将变量 $current 传递给我的布局,但是出错了,我们将有两个具有该特殊 ID 的链接,例如
<li id="<?php echo "$current";?>"><?php echo $this->Html->link('Home', '/'); ?></li>
<li id="<?php echo "$current";?>"><?php echo $this->Html->link('Category', '/categories'); ?></li>
我知道需要条件,有人可以写出来吗?我不确定是否可以使用 if else,因为其他页面声称未定义的变量。这有点棘手,也许有人可以为此做一个有效的编程逻辑?
更新: 嗨,我正在努力完成这项工作:
<?php if($current==NULL) {
<?php echo "<li id="current">";?>
<?php echo $this->Html->link('Home', '/'); ?>
<?php echo "</li>"; ?>
}
<?php else: ?>{
<?php echo "<li>";?>
<?php echo $this->Html->link('Home', '/'); ?>
<?php echo "</li>"; ?>
}
<?php endif ?>
我在解析 <li> tags 时遇到错误。有谁知道如何在 PHP 中包装 <li> tag 吗?
附:我已经尝试了下面所有建议的可能解决方案,但无法让它为我工作。我认为目前我正在尝试的这个似乎是最简单的?谢谢。
我不确定它是否会工作,即使在 PHP 中包装了标签。
【问题讨论】:
-
您这样做是为了突出显示列表中的当前操作吗?如果是,那么这可能会有所帮助
$this->set('current', $this->params['controller'].'/'.$this->params['action']); -
大家好,是的,我正在尝试突出显示当前页面。我在这里尝试了一些建议,但尚未成功完成,我目前正在尝试使用助手。感谢您的热情回复,由于时区不同,更新延迟,敬请见谅。
-
大家好,这个问题已经解决了,我还在尝试打勾哪个答案对成功的贡献最大。给我一些时间。
标签: php cakephp layout cakephp-1.3