谁一开始就是大神?

PHP 第69页

PHP

ActiveForm表单里面,,怎么使checkboxList不换行[2.0]

LeoLion阅读(71)

<?= $form->field($model, 'type_id')->checkboxList(ArrayHelper::map(MeType::find()->asArray()->all(),'id','name'))->label('经营类型');?>

Ref. yii\bootstrap\ActiveField::inline()
要是我就自己写css,bootstrap里的css不熟
good,就是这个效果

怎么向公共布局文件里面传递数据[2.0]

Kimbubble阅读(77)

自己写了个布局文件mylayout.php,在视图里面定义$this->meun = 'xxx',
在mylayout.php中引用echo $this->menu报错, 什么原因 ? 试过在控制器里面定义变量menu了!

在对应的action中
在对应的视图和布局中,都可以这样获得:
其实你写的没错,主要是view对象没有menu属性。。title和params属性倒是有,所以没必要那么麻烦,照你自己的写法写$this->params['menu'] = 'xxx';布局里边用就行了

Views內如何選擇語系目錄[2.0]

richsea阅读(76)

當我 config 設定 language = ‘en’;

-views(Folder)
--index.php
---en(Folder)
-----index.php
---zh-CN(Folder)
-----index.php
---zh-TW(Folder)
-----index.php

Controller :
`$this->render('index');` 
會自動分配相對應的語系 en/index.php

============================================================================

-views(Folder)
--index.php    <=== 移除後
---en(Folder)
-----index.php
---zh-CN(Folder)
-----index.php
---zh-TW(Folder)
-----index.php

Controller :
$this->render('index');
將不到 index.php
除非我下 render(Yii::$app->language.'/index'); 以外

有甚麼辦法能
1.把 index.php 移除後
2.透過 $this->render('index');
3.render 到相對應的語系目錄下的 index.php

或者我的方法使用錯誤, 請給予指教!!

这个应该不用自己写这个判断吧,yii2会自己去匹配对应的语言包啊,直接放在message里,不就行了吗? 语言.php
index 自己作判断再转向相应的目录?

这里的this代表什么?[2.0]

NiceStone阅读(71)

在控制器中 $this->render('left'); this表示控制器对象吧
在视图中 $this->render('left'); this表示视图对象
难道在controller类和view类中都定义了render函数吗?
如果在视图中 $this->render('left')的话,为什么在控制器中不这样写呢$this->view->render('left')

为什么不能?;确实controller和view都有render方法,controller里的render方法是调的view里的

MySQL中文utf8排序问题[2.0]

Fionasea阅读(77)

网站开发接近尾声,几乎所有的编码都是采用utf8编码,但是最后在采用gridview显示人名,并排序的时候出现问题了。不是按照拼音或者笔画啊,乱七八糟的排序。也百度了应当采用gbk的方式才可以正确排序,也知道怎么加这个转换gbk的语句,但是在gridview点击行首排序咋个处理呢?
先谢谢啦。

在 Search model 内配置 setSort() 内的 attributes property 即可。下面的例子将 post.title 列设置为按拼音排序:
SELECT 字段名 FROM 表 ORDER BY CONVERT(字段名 USING gbk) ASC;

urlManagerrules重写没用[2.0]

Licrab阅读(74)

我想把如

www.example/index.php?r=site/index?id=49

的地址改写为

www.example/site/index/49.html

这样的,现在我成功去掉了index.php和r=字符,url变成了

www.example/site/index?id=49

就卡在urlManager的rules这里,请问我该怎么写rules?
另外,我要是想重写为www.example/site/49该怎么写rules呢,求大神给下指点。
另外,yii2的重写具体有哪些规则,语法是怎么样的,有资料的给我个地址也行。

http://www.digpage.com/route.html

在执行actionXxxx方法之前对$_GET或$_POST进行处理[2.0]

BraveLion阅读(71)

如题;

我用yii2.0构建了一个service层,我调用service的时候对参数进行过签名,在yii2.0的service端获取参数的时候我想先进行相关处理。然后将处理后的参数还原成yii能接受的。具体如下:

yii标准请求地址:
http://host/?r=site/get-userinfo&id=8

签名过的请求地址:
http://host/?r=site/get-userinfo&param=这里是包含了id等相关参数的密文

并且service用的yii内置的RESTful,控制器方法如下:

class SiteController extends \yii\rest\ActiveController{

    public $modelClass = '';

    public function actionGetUserinfo($id) {
        # 相关操作
    }
}

使用标准请求地址是能访问成功的,如何能让我签名过的地址能访问呢,也就是说如何能在调用actionGetUserinfo()方法之前让我去改变$_GET['id']这个值,有没有提供这样的过滤器或者方法。

yii小白一枚,望各位大神不吝赐教。先谢过了!

处理参数的核心逻辑在yii\base\Action::runWithParams里面,你可以选择重写这部分,但是这会影响整个框架的所有代码。
建议是重写控制器的runAction逻辑,实现一个YourActiveController
然后,相关的逻辑继承这个控制器
两种方法
1.写一个behaviour。
2.重写beforeAction方法,在当前类,或者写个父类继承。

关联查询GridView中省市区关联查询问题[2.0]

littlequeen阅读(74)

请问大神,我一张表里的3个字段,都要关联到城市表里面去,这种情况应该怎么写关联模型?
下面是关联模型

public function getProvin()
{
    return $this->hasOne(City::className(), ['id' => 'provin']);
}

public function getCity()
{
    return $this->hasOne(City::className(), ['id' => 'citys']);
}
public function getArea()
{
    return $this->hasOne(City::className(), ['id' => 'area']);
}

下面是GridView代码

$query->joinWith(['city']);
$query->joinWith(['area']);
$query->joinWith(['provin']); 

这种写法直接报错,,,请问应该怎么写?

首先,$query是已经查询出来的ar吗?
如果是的话 $query->city,$query->area,$query->provin就可以直接取了。
如果不是,那$query->with([‘city’,’area’,’provin’])->all(),查询出来,和上面一样取值就好了。

继承ActiveRecord的模型类如何添加自义属性[2.0]

littlelovely阅读(78)

gii根据数据库表生成的model是扩展自\yii\db\ActiveRecord。
一个简单的功能:上传产品信息至数据库表中,同时上传产品图片至目录下。

用gii生成了CRUD,然后结合手册中上传文件的示例代码,在create view里添加一个file input ,为了能验证上传是jpg或是png,于是在model里添加了rule,然后添加自定义字段,数据库内容是进去了,图片没上传。

gii根据数据库表生成的model是扩展自\yii\db\ActiveRecord。而文件上传示例代码中用的自定义表单扩展自yii\base\Model;是不是这里的问题?

这么个简单的功能,这么难找到示例代码…

namespace backend\models;

use Yii;
use yii\web\UploadedFile;

class JiaoyanAward extends \yii\db\ActiveRecord
{
	public $imageFile;//上传的图片
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'jiaoyan_award';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
           // [['term', 'poster', 'class', 'award', 'organization', 'photo', 'self_value', 'check_value', 'check_time', 'status', 'remark'], 'required'],
            [['term'], 'integer'],
            [['self_value', 'check_value'], 'number'],
            [['discount'], 'boolean'],
            [['post_time', 'check_time'], 'safe'],
            [['poster', 'class', 'organization'], 'string', 'max' => 50],
            [['award', 'photo', 'remark'], 'string', 'max' => 100],
            [['status'], 'string', 'max' => 10],
			[['imageFile'], 'file',  'extensions' => 'png, jpg'],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'term' => 'Term',
            'poster' => 'Poster',
            'class' => 'Class',
            'award' => 'Award',
            'organization' => 'Organization',
            'photo' => 'Photo',
            'self_value' => 'Self Value',
            'discount' => 'Discount',
            'check_value' => 'Check Value',
            'post_time' => 'Post Time',
            'check_time' => 'Check Time',
            'status' => 'Status',
            'remark' => 'Remark',
        ];
    }
	
	 public function upload()
    {
        if ($this->validate()) {
            $this->imageFile->saveAs('uploads/' . 'abc'. '.' . $this->imageFile->extension);
            return true;
        } else {
            return false;
        }
    }
}

最好不要改源文件 写个类来继承 修改子类

登录

找回密码

注册