1.<script type="text/javascript">
//$('#Form-field-Course-introduction-group').append('<div id="txtNum">0/500</div>');
$('#Form-field-Package-introduction-group').after('<div id="txtNum" style="position: absolute;right: -50px;bottom: 18px;"></div>');
var len=$('#Form-field-Package-introduction').val().length;
$('#txtNum').text(len+"/2000");
$('#Form-field-Package-introduction').bind('input propertychange', function() {
var val=$(this).val();
var len=val.length;
var count=$(this).siblings('span');
if(len>2000){
len=2000;
$(this).val(val.substring(0,2000));
}
$('#txtNum').text(len+"/2000");
});
//$('#Form-field-Package-name').attr('maxlength', 30);
</script>
获取,截取2000个字符。
2、前后端对接接口问题
困扰我已久的问题
后台接口:
//获取套餐课程信息
public function onGetPackageCourses()
{
$packageId = post('id',0);
$page = post('page',1);
$packageCourseIds = PackageCourseModels::lists('id');
if(!empty($packageCourseIds)){
$packageCourses = PackageCourseModels::whereIn('id',$packageCourseIds)
->with('course')
->get();
}
// trace_log($packageCourses);
// return['packageCourses' => $this->makePartial('list_content',['packageCourses' => $packageCourses])];
return $packageCourses;
}
前端渲染:
页面:
<div class="control-list ">
<?= $this->makePartial('list_content',['packageCourses' => $packageCourses]) ?>
</div>
Content 内容对接
<?php foreach( $packageCourses as $packageCourse): ?>
<tr id="course-first">
<td><?= $packageCourse->id ?> </td>
<td>第二阶段</td>
<td>3000</td>
<td>236</td>
<td><a href="javascript:void(0)" class="view">预览</a>   <span class="specil"><a href="javascript:void(0)"> 移除</a></span> </td>
</tr>
<?php endforeach ?>
问题:是否是toArray()
Tips:
get()得出的数据可以直接渲染到页面中
toArray()得出的直接报错,错误信息是 is not object。
如果不是一个对象那就是数组;
5、 对于复杂的页面的嵌套
<link rel="stylesheet" type="text/css" href='/plugins/dapeng/assets/css/watch_record.css'>
<?php $courseProduces =$this->getCourseProduces();
$users = $this->getProduces();
$vipCourses = $this->getVipCourses();
$publicCourses = $this->getPublicCourses();
$watchTotal = $this->getWatchTotal();
?>
<div class="header-tips">
<div class="tips-left">
个人进度详情
</div>
</div>
<div class="control-list">
<?= $this->makePartial('list_schdule_content',['users' => $users,'total' => $watchTotal]) ?>
</div>
<div class="control-tabs content-tabs" data-control="tab">
<ul class="nav nav-tabs">
<li class="active">
<a href="#contentTabOne">VIP课</a>
</li>
<li>
<a href="#contentTabThree">公开课</a>
</li>
</ul>
<div class="tab-content" style="overflow: auto;">
<?php if($vipCourses != 0): ?>
<div class="tab-pane active">
<div class="level-tips">
在学<span>2</span>门课程,已学<span>1</span>门课程,累积时长<span>48</span>小时
</div>
<?php foreach($vipCourses as $key => $course): ?>
<?php if(!empty($course)): ?>
<div class="level-body">
<div class="level-1">
<div class="level-1-title level-style">
<span><?= $course['name'] ?></span>
<div class="progress-box">
<span class="pull-left">进度:</span>
<div class="progress pull-left">
<div class="progress-bar" style="width: 60%;">
</div>
</div>
<span class="pull-left">60%</span>
</div>
<span>累积观看时长8小时</span>
<span>课时数据</span>
<span class="sanjiao-icon icon-sort-asc"></span>
</div>
<div class="level-1-body">
<?php foreach($course['period'] as $key1 => $period): ?>
<?php if(!empty($period)): ?>
<?php foreach($period['units'] as $key2 => $unit): ?>
<?php if(!empty($unit)): ?>
<div class="level-1-title level-style">
<span><?php echo $unit['name']; ?></span>
<div class="progress-box">
<span class="pull-left">进度:</span>
<div class="progress pull-left">
<div class="progress-bar" style="width: 60%;">
</div>
</div>
<span class="pull-left">60%</span>
</div>
<span>课时数据</span>
<span class="sanjiao-icon icon-sort-asc"></span>
</div>
<div class="level-1-body">
<div class="level-2-tips level-style">
<span class="class-name">课时名称</span>
<span class="IP-address">IP地址</span>
<span class="borwser-type">浏览器</span>
<span class="client-type">客户端</span>
<span class="study-time">开始学习时间</span>
<span style="width: 200px;padding-left: 20px;">进度</span>
<span class="study-time-all">已观看</span>
<span class="study-error">异常</span>
<span class="icon-share"></span>
</div>
<div class="level-2">
<?php foreach($unit['lessons'] as $key2 => $lesson): ?>
<?php if(!empty($lesson)): ?>
<?php foreach($lesson['watchrecord'] as $key3 => $watchrecord): ?>
<?php if(!empty($watchrecord)): ?>
<div class="level-2-title level-style">
<span class="class-name" title="啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦了"><?= $lesson['title'] ?>
</span>
<span class="IP-address"><?= $watchrecord['address'] ?></span>
<span class="borwser-type"><?= $watchrecord['browser'] ?></span>
<span class="client-type"><?= $watchrecord['client'] ?></span>
<span class="study-time"><?= $watchrecord['watch_time'] ?></span>
<div class="progress-box">
<div class="progress pull-left">
<div class="progress-bar" style="width: 60%;">
</div>
</div>
<span class="pull-left"><?= $watchrecord['schedule'] ?>%</span>
</div>
<span class="study-time-all"><?= $watchrecord['watch_time'] ?></span>
<span class="study-error"><?= $watchrecord['exception_record'] ?></span>
<span class="sanjiao-icon icon-sort-desc"></span>
</div>
<?php endif ?>
<?php endforeach ?>
<?php endif ?>
<?php endforeach ?>
</div>
</div>
<?php endif ?>
<?php endforeach ?>
<?php endif ?>
<?php endforeach ?>
</div>
</div>
</div>
<?php endif ?>
<?php endforeach ?>
</div>
<?php endif ?>
<?php if($vipCourses == '0'): ?>
<div style="text-align: center; ">
暂无结果
</div>
<?php endif ?>
<div class="tab-pane">
<?php if($publicCourses != 0): ?>
<div class="tab-pane active">
<div class="level-tips">
在学<span>2</span>门课程,已学<span>1</span>门课程,累积时长<span>48</span>小时
</div>
<?php foreach($publicCourses as $key => $course): ?>
<?php if(!empty($course)): ?>
<div class="level-body">
<div class="level-1">
<div class="level-1-title level-style">
<span><?= $course['name'] ?></span>
<div class="progress-box">
<span class="pull-left">进度:</span>
<div class="progress pull-left">
<div class="progress-bar" style="width: 60%;">
</div>
</div>
<span class="pull-left">60%</span>
</div>
<span>累积观看时长8小时</span>
<span>课时数据</span>
<span class="sanjiao-icon icon-sort-asc"></span>
</div>
<div class="level-1-body">
<?php foreach($course['period'] as $key1 => $period): ?>
<?php if(!empty($period)): ?>
<?php foreach($period['units'] as $key2 => $unit): ?>
<?php if(!empty($unit)): ?>
<div class="level-1-title level-style">
<span><?php echo $unit['name']; ?></span>
<div class="progress-box">
<span class="pull-left">进度:</span>
<div class="progress pull-left">
<div class="progress-bar" style="width: 60%;">
</div>
</div>
<span class="pull-left">60%</span>
</div>
<span>课时数据</span>
<span class="sanjiao-icon icon-sort-asc"></span>
</div>
<div class="level-1-body">
<div class="level-2-tips level-style">
<span class="class-name">课时名称</span>
<span class="IP-address">IP地址</span>
<span class="borwser-type">浏览器</span>
<span class="client-type">客户端</span>
<span class="study-time">开始学习时间</span>
<span style="width: 200px;padding-left: 20px;">进度</span>
<span class="study-time-all">已观看</span>
<span class="study-error">异常</span>
<span class="icon-share"></span>
</div>
<div class="level-2">
<?php foreach($unit['lessons'] as $key2 => $lesson): ?>
<?php if(!empty($lesson)): ?>
<?php foreach($lesson['watchrecord'] as $key3 => $watchrecord): ?>
<?php if(!empty($watchrecord)): ?>
<div class="level-2-title level-style">
<span class="class-name" title="啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦了"><?= $lesson['title'] ?>
</span>
<span class="IP-address"><?= $watchrecord['address'] ?></span>
<span class="borwser-type"><?= $watchrecord['browser'] ?></span>
<span class="client-type"><?= $watchrecord['client'] ?></span>
<span class="study-time"><?= $watchrecord['watch_time'] ?></span>
<div class="progress-box">
<div class="progress pull-left">
<div class="progress-bar" style="width: 60%;">
</div>
</div>
<span class="pull-left"><?= $watchrecord['schedule'] ?>%</span>
</div>
<span class="study-time-all"><?= $watchrecord['watch_time'] ?></span>
<span class="study-error"><?= $watchrecord['exception_record'] ?></span>
<span class="sanjiao-icon icon-sort-desc"></span>
</div>
<?php endif ?>
<?php endforeach ?>
<?php endif ?>
<?php endforeach ?>
</div>
</div>
<?php endif ?>
<?php endforeach ?>
<?php endif ?>
<?php endforeach ?>
</div>
</div>
</div>
<?php endif ?>
<?php endforeach ?>
</div>
<?php endif ?>
</div>
</div>
<script type="text/javascript">
</script>
<script src="/plugins/dapeng/assets/js/user/watchRecord.js">
</script>
6、php通过路由传参的几种方式
(1)title = "dapeng"
url = "/search-users/:keyword"
layout = "default"
description = "dapeng index"
[searchComponent]
keyword = "{{ :keyword }}" 此步骤是相当于$param =explode('/',Request::getRequestUri()); $url = last($param);
url = "/search-users/:keyword"
layout = "default"
description = "dapeng index"
[searchComponent]
keyword = "{{ :keyword }}" 此步骤是相当于$param =explode('/',Request::getRequestUri()); $url = last($param);
似曾相识angularjs route
( 2 )
直接传参
title = "dapeng"
url = "/search-users"
layout = "default"
description = "dapeng index"
url = "/search-users"
layout = "default"
description = "dapeng index"
未完待续......,