学堂 学堂 学堂公众号手机端

YII学习第五天,视图层View

lewis 1年前 (2024-04-01) 阅读数 10 #技术


一、关于breadcrumbs
1,给breadcrumbs加超链接

$this->breadcrumbs=array(
'Message'=>array('message/index'),
'HelloWorld',
);

2,给breadcrumbs修改首页为中文


我目前采用的是在config/main.php中设置为zh_ch,但还有另外一种解决办法,

<?php
$this->widget('zii.widgets.CBreadcrumbs', array(
'homeLink'=>CHtml::link('首页',Yii::app()->homeUrl),
//这里可以修改HOME,变成中文
'links'=>$this->breadcrumbs,
)); ?><!-- breadcrumbs -->

3,博客breadcrumbs使用

1,现在../components/controller.php中添加

public $breadcrumbs=array();

2,在再../views/layouts/main.php

<?php if(isset($this->breadcrumbs)):?>
<?php $this->widget('zii.widgets.CBreadcrumbs', array('links'=>$this->breadcrumbs,)); ?>
<?php endif?>

3,在具体页面中

$this->breadcrumbs=array(
'xx列表'=>array('index'),
$model->workerName,
);

二、关于createUrl和CHtml::link参数设置的区别

前者将多个参数放进一个数组中,后者直接向后累计添加(不放进数组)
1,createUrl应用

<a href="<?php echo $this->createUrl('news/view',array('id'=>$companyNew->id,'news_type'=>$companyNew->news_type)) ?>" title="<?php echo $companyNew->title ?>">

批注:在MVC中,可以使用$this->createUrl();在../components/xx.php中使用Yii::app()->createUrl();

2,CHtml::link应用

<?php echo CHtml::link(CHtml::encode($data->title), array('view', 'id'=>$data->id,'news_type'=>$data->news_type)); ?>

//例如:
<?php echo CHtml::link('Link Text', array('controller/action','param1'=>'value1'));?>
html输出是<a href="index.php?r=controller/action¶m1=value1">Link Text</a>

//多参数
<?php echo CHtml::link('Link Text', array('controller/action','param1'=>'value1','param2'=>'value2'));?>
html输出是<a href="index.php?r=controller/action¶m1=value1¶m2=value2">Link Text</a>

//额外参数:
<?php echo CHtml::link('Link Text', array('controller/action','param1'=>'value1'), array('target'=>'_blank'));?>
html输出是<a target="_blank" href="index.php?r=controller/action¶m1=value1">Link Text</a>

//绝对路径:
<?php echo CHtml::link('Link Text', array('/controller/action'));?>

//指定模块下的路径
<?php echo CHtml::link('Link Text', array('/module-id/controller/action'));?>

//无效链接:
<?php echo CHtml::link('Link Text', array('href'=>'javascript:void(0)'));?>
<a href="javascript:void(0)">Link Text</a>

三、CHtml::linkButton

<?php echo CHtml::linkButton('LinkName', array('submit'=>array('controller/action','param'=>'value1'), 'confirm'=>"Are you sure?",));?>

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门