Php 突出显示来自阵列的活动链接
我想应用Php 突出显示来自阵列的活动链接,php,templates,Php,Templates,我想应用class=“active”,具体取决于您所处的页面。最好的方法是什么 例如: 在构造函数中,它创建一个包含链接名称和地址的数组 class OrderController extends Controller { public $data = array(); private __construct() { $this->data['sidebar'] = array( 'New Orders' => '/admin/
class=“active”
,具体取决于您所处的页面。最好的方法是什么
例如:
在构造函数中,它创建一个包含链接名称和地址的数组
class OrderController extends Controller {
public $data = array();
private __construct() {
$this->data['sidebar'] = array(
'New Orders' => '/admin/order',
'Processing Orders' => '/admin/order/processing',
'Completed Orders' => '/admin/order/completed',
);
public function actionIndex($status) {
$data = $this->data;
if ($status == "processing") {
//how to apply class="active" when you on the order/processing page?
//Apply active in the data['sidebar'] array
}
$view = new view('orders.php', $data);
$view->render();
}
}
数组传递到actionIndex()
和render orders.php中
在orders.page中,我有如下内容:
<?php foreach ($sidebar as $name => $link): ?>
<li>
<strong><a href="<?php echo $link; ?>"><?php echo $name; ?></a></strong>
</li>
<?php endforeach; ?>
我想在li
标签中添加class=“active”
。我的基本想法是:
if ($tatus == "processing") {
data['active'] = 'processing';
}
<?php foreach ($sidebar as $name => $link): ?>
<li <?php if ($active == $name) echo class="active"; ?>>
<strong><a href="<?php echo $link; ?>"><?php echo $name; ?></a></strong>
</li>
<?php endforeach; ?>
条件基于必须处理的名称。。。您可以根据需要随意修改。我的基本想法是:
if ($tatus == "processing") {
data['active'] = 'processing';
}
<?php foreach ($sidebar as $name => $link): ?>
<li <?php if ($active == $name) echo class="active"; ?>>
<strong><a href="<?php echo $link; ?>"><?php echo $name; ?></a></strong>
</li>
<?php endforeach; ?>
条件基于必须处理的名称。。。您可以根据需要进行修改。您可以在阵列上构建:
class OrderController extends Controller {
public $data = array();
private __construct() {
$this->data['sidebar'] = array(
'New Orders' => array( 'url'=>'/admin/order', 'class'=>'' ),
'Processing Orders' => array( 'url'=>'/admin/order/processing', 'class'=>'' )
'Completed Orders' => array( 'url'=>'/admin/order/completed', 'class'=>'' ),
);
public function actionIndex($status) {
$data = $this->data;
if ($status == "processing") {
$data['sidebar']['Processing Orders']['class'] = 'active';
}
$view = new view('orders.php', $data);
$view->render();
}
}
现在您必须更改foreach:
<?php foreach ($sidebar as $name => $link): ?>
<li class="<?php echo $link['class']; ?>">
<strong><a href="<?php echo $link['url']; ?>"><?php echo $name; ?></a></strong>
</li>
<?php endforeach; ?>
您可以在阵列上构建:
class OrderController extends Controller {
public $data = array();
private __construct() {
$this->data['sidebar'] = array(
'New Orders' => array( 'url'=>'/admin/order', 'class'=>'' ),
'Processing Orders' => array( 'url'=>'/admin/order/processing', 'class'=>'' )
'Completed Orders' => array( 'url'=>'/admin/order/completed', 'class'=>'' ),
);
public function actionIndex($status) {
$data = $this->data;
if ($status == "processing") {
$data['sidebar']['Processing Orders']['class'] = 'active';
}
$view = new view('orders.php', $data);
$view->render();
}
}
现在您必须更改foreach:
<?php foreach ($sidebar as $name => $link): ?>
<li class="<?php echo $link['class']; ?>">
<strong><a href="<?php echo $link['url']; ?>"><?php echo $name; ?></a></strong>
</li>
<?php endforeach; ?>
您是否有机会使用URL重写?首先将if($tatus==
…更改为if($status
)。您忘记了$tatus的s,您是否有机会使用URL重写?首先将if($tatus=
…更改为if($status
)。您忘记了$tatus的s