小编今天整理了一些php框架如何实现远程模板更新 phpcms 怎样实现电脑,手机访问自动调用不同模板而URL地址不变相关内容,希望能够帮到大家。
phpcms 怎样实现电脑,手机访问自动调用不同模板而URL地址不变
楼主你好
不改变PC的布局到移动端是不可能的,把PC的界面放到移动端如果不变布局,显示肯定得缩小,只会看不清,做自适应是不错的选择,可以实现同一个URL地址,在不同的设备上显示不同的样式,像这个网站(
www.zacseo.cn
)一样,在PC端显示和移动端都是同一个URL,但界面展示的信息会有所不同,你看下就知道了。
另外,还有一个办法就是在content模块中加入判断,位置是 phpcms\modules\content 下的index.php文件,可以动手写一个函数,在 include template('content','index',$default_style); 的地方判断不同的设备调用不同的模板。
希望可以帮到你。 林羽凡
PHP+Ajax如何实现表格的实时编辑
这次给大家带来PHP+Ajax如何实现表格的实时编辑,PHP+Ajax实现表格实时编辑的注意事项有哪些,下面就是实战案例,一起来看一下。
如果我们的对于一个表格中所有的数据都能在本页进行操作那该是多酷炫的一件事(用起来炒鸡爽)!
用Ajax就可以实现这个功能啦。废话不多说,下面贴出我写的demo吧哈哈。我用的TP框架(3.2)比较习惯啦。
首先是HTML代码部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AJAX实时编辑</title>
<script src="PUBLIC/jquery-1.7.2.min.js"></script>
</head>
<body>
<center>
<table border="1" width="1000" id="g_table">
<tr>
<!-- <th>ID</th> -->
<th>TAB1</th>
<th>TAB2</th>
<th>TAB3</th>
<th>TAB4</th>
<th><span onclick="add()">添加</span></th>
</tr>
<foreach name="tablist" item="vv">
<tr>
<!-- <td>{$vv.id}</td> -->
<input type="hidden" name="id" value="{$vv.id}">
<td>{$vv.tab1}</td>
<td>{$vv.tab2}</td>
<td>{$vv.tab3}</td>
<td>{$vv.tab4}</td>
<td><span onclick="del(this)" id="del">删除</span><span onclick="edit(this)" id="edit">修改</span></td>
</tr>
</foreach>
</table>
</center>
</body>
<script>
var g_table = $("#g_table");
function add(){
var addRow = $("<tr></tr>");
g_table.append(addRow);
for(var i = 0;i < 4;i++){
var col_td = $("<td><input type='text' /></td>");
addRow.append(col_td);
}
var col_opt = $("<td></td>");
var confirmBtn = $("<a href='javascript:;'>确认</a>");
var cancelBtn = $("<a href='javascript:;'>取消</a>");
cancelBtn.click(function(){
window.location.reload();
});
confirmBtn.click(function(){
var currentRow = $(this).parent().parent();
var input_files = currentRow.find("input");
var post_files = {};
for(var i = 0 , j = input_files.length;i < j;i++){
post_files['clo_' + i] = input_files[i].value;
}
// $.post("{:U('ajax/add')}",post_files,function(msg){
// debugger;
// })
$.ajax({
type: 'post',
url : "{:U('ajax/add')}",
data: {post_files},
success:function(msg){
alert(msg);
window.location.reload();
}
})
});
col_opt.append(confirmBtn);
col_opt.append(cancelBtn);
addRow.append(col_opt);
}
function del(obj){
var id = $(obj).parent().prev().prev().prev().prev().prev().val();
$.ajax({
type: 'post',
url: "{:U('ajax/del')}",
data: {id:id},
success:function(msg){
alert(msg);
}
})
$(obj).parent().parent().remove();
}
function edit(obj){
var id = $(obj).parent().prev().prev().prev().prev().prev().val();
for(var i = 1;i < 5;i++){
var temp = "<td><input type='text' value='" + $(obj).parent().parent().children().eq(i).html() + "'/></td>";
$(obj).parent().parent().children().eq(i).replaceWith(temp);
}
var confirmBtn1 = $("<span id='confirm'>确认</span>");
var cancelBtn1 = $("<span onclick='back()'>取消</span>");
confirmBtn1.click(function(){
var currentRow = $(this).parent().parent();
var input_files = currentRow.find("input");
var post_files = {};
for(var i = 0 , j = input_files.length;i < j;i++){
post_files['clo_' + i] = input_files[i].value;
}
$.ajax({
type: 'post',
url : "{:U('ajax/edit')}",
data: {post_files:post_files,id:id},
success:function(msg){
alert(msg);
window.location.reload();
}
})
});
$(obj).prev().replaceWith(confirmBtn1);
$(obj).replaceWith(cancelBtn1);
}
function back(){
location.reload();
}
</script>
</html>下面是控制器中的代码:
<?php
namespace Home\Controller;
use Think\Controller;
class AjaxController extends Controller{
public function index(){
$tab = M('table');
$tablist = $tab->select();
$this->assign('tablist',$tablist);
$this->display();
}
public function del(){
$map['id'] = $_POST['id'];
$tab = M('table');
$info = $tab->where($map)->delete();
if($info){
$this->ajaxReturn("删除成功");
}else{
$this->ajaxReturn("删除失败");
}
}
public function add(){
$map['tab1'] = $_POST['post_files']['clo_0'];
$map['tab2'] = $_POST['post_files']['clo_1'];
$map['tab3'] = $_POST['post_files']['clo_2'];
$map['tab4'] = $_POST['post_files']['clo_3'];
$tab = M('table');
$res = $tab->add($map);
if($res){
$this->ajaxReturn("添加成功");
}else{
$this->ajaxReturn("添加失败");
}
}
public function edit(){
$id = $_POST['id'];
$map['tab1'] = $_POST['post_files']['clo_1'];
$map['tab2'] = $_POST['post_files']['clo_2'];
$map['tab3'] = $_POST['post_files']['clo_3'];
$map['tab4'] = $_POST['post_files']['clo_4'];
// dump($map);exit;
$tab = M('table');
$res = $tab->where('id='.$id)->save($map);
if($res){
$this->ajaxReturn("更新成功");
}else{
$this->ajaxReturn("更新失败");
}
}
}相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
Ajax+Spring实现文件上传
怎么用Ajax实现动态加载数据的功能
Ajax怎么实现上传文件的进度条Codular
php开发工具(提高开发效率的必备工具)
PHP是一种非常流行的开发语言,被广泛用于Web开发。随着Web应用程序变得越来越复杂,我们需要更好的工具来提高开发效率。在本文中,我们将介绍一些最受欢迎的PHP开发工具,以及它们如何帮助我们更快地开发Web应用程序。
1.PHPStorm
PHPStorm是一款功能强大的PHP集成开发环境(IDE),它提供了许多有用的功能,如代码自动完成、语法高亮、调试、版本控制等。它支持多种Web框架,如Laravel、Symfony、Yii等,还可以与其他工具集成,如数据库管理工具、JavaScript框架等。
使用PHPStorm开发Web应用程序非常容易。你只需创建一个新项目,然后选择你喜欢的Web框架。PHPStorm会自动为你创建一个基本的项目结构,并为你提供一些有用的代码片段,以帮助你更快地编写代码。
2.SublimeText
SublimeText是一款轻量级的文本编辑器,它支持多种编程语言,包括PHP。它的界面非常简洁,但它提供了很多有用的功能,如代码自动完成、语法高亮、代码片段等。
我爱编程网
SublimeText的一个重要特点是它的插件系统。你可以通过安装插件来扩展它的功能,如代码片段、自动完成、语法检查等。这些插件可以让你更快地编写代码,减少错误。
3.VisualStudioCode
VisualStudioCode是一款由微软开发的轻量级代码编辑器,它支持多种编程语言,包括PHP。它的界面非常简洁,但它提供了很多有用的功能,如代码自动完成、语法高亮、调试等。
VisualStudioCode的一个重要特点是它的扩展系统。你可以通过安装扩展来扩展它的功能,如代码片段、自动完成、语法检查等。这些扩展可以让你更快地编写代码,减少错误。
4.PhpStorm
PhpStorm是一款由JetBrains开发的PHP集成开发环境(IDE),它提供了许多有用的功能,如代码自动完成、语法高亮、调试、版本控制等。它支持多种Web框架,如Laravel、Symfony、Yii等,还可以与其他工具集成,如数据库管理工具、JavaScript框架等。
使用PhpStorm开发Web应用程序非常容易。你只需创建一个新项目,然后选择你喜欢的Web框架。PhpStorm会自动为你创建一个基本的项目结构,并为你提供一些有用的代码片段,以帮助你更快地编写代码。
5.Atom
Atom是一款由GitHub开发的代码编辑器,它支持多种编程语言,包括PHP。它的界面非常简洁,但它提供了很多有用的功能,如代码自动完成、语法高亮、调试等。
Atom的一个重要特点是它的扩展系统。你可以通过安装扩展来扩展它的功能,如代码片段、自动完成、语法检查等。这些扩展可以让你更快地编写代码,减少错误。
以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。