谁一开始就是大神?

PHP 第63页

PHP

大家好。。请问在YII2模板中原生PHP语法写法?有没有专门在YII2模板中写原生PHP语法的写法?[2.0]

youthfans阅读(123)

如这段代码。。。

<?php if( ($status['status']) == 1 ): ?>
<span class="wh-collect"><span class="collect"><?php echo '已收藏'; ?></span>(<span id="count">0</span>)</span>
<?endif; ?>
<?php else: ?>
<span class="wh-collect"><span class="collect"><?php echo '收藏'; ?></span>(<span id="count">0</span>)</span>
<?php endif; ?>

转换为YII2中的语法 应该怎么写。。谢谢了。

Yii的模板中 只支持 原生PHP的写法,不需要做什么 转换
直接写,没区别.
提问前没试着把这段代码放到yii里跑一下?
直接写 原生的PHP 就可以了
没有区别,可以直接写
直接写就得了,除了表单,其他没必要用yii写,反倒是脱了裤子放屁 本身浏览器处理的事情 按yii那样写现在还得php引擎处理

yii2分页问题Pagination不显示分页样式[2.0]

richfrog阅读(121)

控制器代码:

<?php

namespace app\controllers;

use Yii;
use yii\web\Controller;
use app\models\Country;
use yii\helpers\ArrayHelper;
use yii\data\Pagination;

class CountryController extends Controller
{
	function actionIndex(){
		$query = Country::find()->where(['status' => 1]);
		$pages = new Pagination(['totalCount' => count($query), 'pageSize' => '1']);
		$models = $query->offset($pages->offset)
		    ->limit($pages->limit)
		    ->all();

		return $this->render('index', [
		     'models' => $models,
		     'pages' => $pages,
		]);
	}
}



?>

view

<?php
use yii\widgets\LinkPager;

foreach ($models as $model) {
    // 在这里显示 $model
    echo 'ID:'.$model->id;
    echo '名称:'.$model->name;
    echo '验证码:'.$model->code;
    echo '<hr/>';

}

?>

 <?php echo  LinkPager::widget(['pagination' => $pages]); ?>

数据库中有11条数据,这里我设置每页显示1条。应该有11页才对。
但是页面只显示foreach中的输出。
却没有看到上下页的分页样式。

对比你的代码,你是怎么用的
没有克隆对象, count()没用对
LinkPager 继承这个类过后,自己再继续重写样式就可以了。

记录日志会自动记录在在哪行执行[2.0]

Bravelove阅读(116)

[
	'class' => 'yii\log\FileTarget',
	'levels' => ['info','error'],
	'categories' => ['guangdian'],
	'logVars'=>[],
	'logFile' => '@app/runtime/logs/gd'.date('Ymd').'.log',
	'maxFileSize' => 1024 * 5,
	'maxLogFiles' => 150,

]
\Yii::info($action_name.'操作成功 muid='.$muid,'guangdian');

配置和使用 我觉得都没有问题 但是 日志 生成出来 我发现很奇怪
日志如下
2016-05-16 14:12:10 [123.56.193.180][-][-][info][guangdian] CallbackLoginAd——操作成功 muid=4e192b1f9ed70844e94a79eca9c3b59c

in /root/web/baidu.com/controllers/GuangdianController.php:118

跪求去掉 下面 in /root/web/baidu.com/controllers/GuangdianController.php:118 方法

默认的日志格式就是 {date}{ip}{userID}{sessionID}{level}{category}{text}{trace}
不知道有没有理解对你的问题,你希望去掉的 “in xxxxx” 应该就是日志中的{trace}域,目前yii不支持自定义日志格式,你如果非要这么做,只能自己改写yii\log\Target::formatMessage方法,自己格式化自己需要的日志格式。
该方法的代码如下:
你可以实现一个自定义的Target继承自FileTarget,然后在你自己的Target中改写此方法即可。

webuploader的多文件上传如何保存?[2.0]

Kindcrab阅读(122)

上传的插件我使用的是webuploader.js这个插件,视图里已经显示OK

<div class="fileupload fileupload-new">
    <div class="img-preview"></div>
</div>
<?= \iisns\webuploader\MultiImage::widget() ?>

然后我上传到控制器的一个操作里,打印$_FIELS,在响应里也有文件数据。接下来怎么保存呢?我查了很多上传的例子,大概都是说视图用activeForm生成一个表单,在控制器里面用:

$image =  UploadedFile::getInstance($model,'数据表存储字段');

这种方法来传到model里面。这里我很混乱的就是我的webuploader上传不是用activeForm生成的,属性里也就没有这么一个字段。我该怎么使用UploadedFile呢?渴望大侠高人指点迷津, 不胜感激!

有数据就把数据写到文件试试
谢谢,收藏了。

$model->load($data)这个值一直是false[2.0]

ecyqueen阅读(126)

有没有大神来说说,感觉这框架怎么这么难呢!!!我的代码都是照着文档写的,表单是我用静态页面写的。

得确定你提供的data符合要求。 默认格式是 model[id->1,name->xxx,……]这样的。
不确定你可以去看yii自己生成的代码里的格式。
你可以试试 $model->getErrors() 这个函数的返回值
这个问题最后怎么解决的呢,我在网上找了资料,不管是增加form的名字(如:$model->load($post,$formTable);)还是添加load的第二个参数设置为空都不行,rules中加了safe字段依然不行,代码如下:
视图:
1.png
模型:
class Record extends Model{

yii2的GII我自动生成有下划线的表名CRUD问题[2.0]

Lihappy阅读(127)

yii2的GII我自动生成有下划线的CRUD 生成后为什么提示找不到页面呢?ht_collect这种表名就可以用 ht_course_atta这种的就不行了..ht_course_atta的控制器名称是CourseAttaController
难不成要变成Course_AttaController么?

我刚学,我的也有下划线的,我的views创建的时候是放在ym-user这样的文件夹里,就是CRUD创建视图的时候改成了-,可以正常访问

model里面fields()方法在哪调用的?[2.0]

likelyStone阅读(111)

model里面重写fields()方法可以过滤load()时的字段,那么fields()是在哪调用的?

fields()主要作用关联数据表字段和模型属性,这样数据表改了只改fields里的字段就可以了,不用重新把控制器视图什么的都改一遍。
另外unset后不是在load时过滤而是直接删除和数据表的关联,在该模型内就好像属性或字段不存在一样。
这个貌似没有你说的那个过滤load功能啊。只是返回模型数据时候有用,比如你表里是username你想返回成nickname

YII2中自己写的自义函数怎么调用?[2.0]

Kimlemon阅读(119)

如题,我自己写了一个自定义函数 按照YII2规范 应该放在YII2中哪里,在模板中想调用 应该怎么调用 。?谢谢

写个 helper 类放在 app\components\ 里,调用跟 yii\helpers\Html 一样的方式
可以看下这个 自定义函数放哪儿
写一个helper,然后里面的方法用静态的

登录

找回密码

注册