谁一开始就是大神?

PHP 第77页

PHP

Yii中JavaScript的疑问?

ACGlove阅读(83)

<!--购物车模板 开始-->
<script type='text/html' id='cartTemplete'>
<dl class="cartlist">
    <%for(var item in goodsData){%>
    <%var data = goodsData[item]%>
    <dd id="site_cart_dd_<%=item%>">
        <div class="pic f_l"><img width="55" height="55" src="{webroot:<%=data['img']%>}"></div>
        <h3 class="title f_l"><a href="{url:/site/products/id/<%=data['goods_id']%>}"><%=data['name']%></a></h3>
        <div class="price f_r t_r">
            <b class="block"><%=data['sell_price']%> x <%=data['count']%></b>
            <input class="del" type="button" value="删除" onclick="removeCart('{url:/simple/removeCart}','<%=data['id']%>','<%=data['type']%>');$('#site_cart_dd_<%=item%>').hide('slow');" />
        </div>
    </dd>
    <%}%>

    <dd class="static"><span><b name="mycart_count"><%=goodsCount%></b>件商品</span>金额总计:<b name="mycart_sum"><%=goodsSum%></b></dd>

    <%if(goodsData){%>
    <dd class="static">
        {if:ISafe::get('user_id')}
        <a class="f_l" href="javascript:void(0)" onclick="deposit_ajax('{url:/simple/deposit_cart_set}');">寄存购物车>></a>
        {/if}
        <label class="btn_orange"><input type="button" value="去购物车结算" onclick="window.location.href='https://www.yiichina.com/question/{url:/simple/cart}';" /></label>
    </dd>
    <%}%>
</dl>
</script>
<!--购物车模板 结束-->

请问里面的script下面可以加“dl”标签吗?

还有就是<%for(var item in goodsData){%>是什么意思?

问题呢??
for语句应该是循环输出购物车里的商品信息。

HowtouseobjectoftypeClassNameasarray[2.0]

Hazellove阅读(88)

想請教

class model {
    public $que ;
}

$model = new model();
$model['que'] = 'xxx';               // not working 型別不對
$model->que = 'abc';

但是 yii 的 $model = new $model();
$model['que'] = 'xxx';               // 卻可以 到底怎麼做到的!!

有人可以幫我解惑嗎~~ yii 他是怎麼處理的

The tricker is ArrayAccess.
You can try the following:

IdentityInterface里的authkey的一些问题[2.0]

LvyEagle阅读(88)

  1. 请教一下各位,IdentityInterface里的authkey作用是什么?
  2. 按照权威指南上的做法,我需要在实现IdentityInterface接口的表中添加authkey字段吗?
  3. getauthkey()直接返回表中的id而非权威手册中的随机字符这样可以吗?
  4. 如下代码有什么问题吗?
     public function getAuthKey()
     {
         return $this->id;
     }
     public function validateAuthKey($authKey)
     {
         return $this->authKey === $authKey;
     }
    

1.按照权威指南解释:yii\web\IdentityInterface::getAuthKey():获取基于 cookie 登录时使用的认证密钥。 认证密钥储存在 cookie 里并且将来会与服务端的版本进行比较以确保 cookie的有效性。具体引用位置在yii\web\user里面loginByCookie方法。
2.需要在你的用户表里面添加这一个字段。
3.直接返回id肯定是会出问题的,就比如你validateAuthKey()的时候就会出错,除非你authkey字段存的就是id的值。所以尽量是存的时候就用Yii::$app->security->generateRandomString()获取随机字符。
4.getAuthKey(),应该返回AuthKey。

请教大家php中的常量义与获取等问题[2.0]

JasonLion阅读(91)

大家好,请问各位都是如何解决下面这个需求的。

比如 有model类user。其中定义常量

const ADMIN = 0; //管理
const USER = 1; //用户
const CLIENT = 2; //客户

实际数据库存储的时候 肯定是 0、1、2的值了。

但是在页面上显示的时候,需要的是 管理、用户、客户

请问各位是如何快速、优雅的 获取这些汉字内容的呢?

if(1) echo 用户
if(2) echo 客户
……
在user model里写个专门的方法
然后,在common/config/params.php里增加constants项:
在Model类(User)里可以增加一个配置索引项与constants中的内容关联:
这样,在业务代码中要获取id对应的字面就可以这样:

kindeditor怎么设置默认值呢[2.0]

HaHtom阅读(79)

<?php echo $form->field($model,'content')->widget('pjkui\kindeditor\KindEditor',['clientOptions' => ['width'=>'90%']);?>

已经调出kindeditor,默认值该怎么写呢

设置$model->content='这里设置默认值就可以吧?'
或则你直接在规则里面写也可以的
能给出代码吗?

hasMany与hasOne前台怎样调用[2.0]

GraceStag阅读(86)

如题

我有两个表,一个order,一个customer,
customer:

public function getOrders()
{
return $this->hasMany(Order::className(), ['customer_id'=>'id']);
}

order:

public funciton getCustomer()
{
return $this->hasOne(Customer::className(), ['id'=>'customer_id']);
}

我想生成的数据应该是数组形式,那我在前台用:

<?php echo $orders['id']; ?>

应该可以啊,但为什么老是提示:“Undefined index: id”

你應該先var_dump models 看看內容是甚麼!!
hasMany : 一對多 => 一個客戶可以有很多訂單
hasOne : 一對一 => 一個訂單只能有一個客戶
把兩張 table join 起來:
首先:需要用<?php echo $orders->id; ?>取值。因为取出的是类,不是数组。类属性获取用->
其次,获取数组形式的方式有两种,一种是在查询的时候,例如customer::find()->where($where)->with('order')->asArray()->all();返回的是数组形式,一种是获取了之后再转成数组,例如$customer = customer::findOne($where);$order = $customer->order;$orderArr = $order->toArray();
$orderArr = $order->toArray(); 最后这个toArray() 提示不识别呀

批量插入的时候,事务不起作用.[2.0]

AibyJames阅读(82)

public function actionImport()
{
    try {
        $columns_keys = [];
        $columns = Yii::$app->db->getTableSchema('_crm_product')->columns;
        foreach ($columns as $column) {
            $columns_keys[$column->comment] = $column->name;
        }
        unset($columns);
        
        // web 目录下
        $pFilename = trim(Yii::$app->request->get('filename'), '/');
        // 先用 Reader_Excel2007 读取
        $PHPReader = new \PHPExcel_Reader_Excel2007();
        // 当前的 Reader_Excel2007 可以阅读该文件吗?
        if (! $PHPReader->canRead($pFilename)) {
            // 再用 Excel5 读取
            $PHPReader = new \PHPExcel_Reader_Excel5();
            // 当前的 Reader_Excel5 可以阅读该文件吗?
            if (! $PHPReader->canRead($pFilename)) {
                return $this->error('无法读取该文件');
            }
        }
        // 载入 xls,xlsx 文件
        $PHPExcel = $PHPReader->load($pFilename);
        // 获得活动表
        $objActiveSheet = $PHPExcel->getActiveSheet();
        // 行迭代器
        $rows = [];
        foreach ($objActiveSheet->getRowIterator() as $row) {
            // 单元格迭代器
            $cellIterator = $row->getCellIterator();
            // 将迭代器设置为只循环存在的单元格, false=不存在
            $cellIterator->setIterateOnlyExistingCells(false);
            foreach ($cellIterator as $key => $cell) {
                if ($row->getRowIndex() == 1) {
                    $columns[] = $columns_keys[$cell->getValue()];
                } else {
                    $rows[$row->getRowIndex()][] = trim($cell->getValue(), '\' ="/');
                }
            }
        }
    } catch (ErrorException $e) {
        return $this->error('错误号:' . $e->getCode() . '<br>错误行:' . $e->getLine() . '<br>错误信息:' . $e->getMessage());
    }
    // 在主服务器连接上开始事务
    $db = Yii::$app->db;
    $transaction = $db->beginTransaction();
    try {
        $queryBuilder = $db->queryBuilder;
        $chunk_rows = array_chunk($rows, 5000);
        $count = 0;
        foreach ($chunk_rows as $chunk_row) {
            $sql = $queryBuilder->batchInsert('_crm_product', $columns, $chunk_row);
            $count += $db->createCommand($sql)->execute();
        }
        $message = '成功导入 <code>' . $count . '</code> 条记录';
        // 提交记录
        $transaction->commit();
        return $this->ok($message);
    } catch (Exception $e) {
        // 记录回滚
        $transaction->rollBack();
        return $this->error('错误号:' . $e->getCode() . '<br>错误信息:' . $e->getMessage());
    }
}

检查是否使用了innodb存储引擎

Yii2做站点的过程是怎样的?[2.0]

Ellietom阅读(81)

想规范下用Yii2做站点的流程。请各位赐教。
就以普通的站点为例,有前台有后台。前台主要展示信息,后台主要管理。需要先干什么再做什么,这个流程想规范下。

首页下载yii2
然后编写代码
最下发布网站
先确定业务逻辑,一般先做后台再做前台。这样开发比较快
我觉得最好的方法就是下载一个小型的项目源码,然后从入口文件按流程看着走,一遍下来,我觉得应该 不离十了,就差实践了!

登录

找回密码

注册