框架发布

框架发布

最新版本发布信息
提问交流

提问交流

使用问题咨询
经验分享

经验分享

开发经验交流分享
功能建议

功能建议

官方开发功能建议
BUG反馈

BUG反馈

使用BUG反馈
模块&插件&数据包

模块&插件&数据包

模块插件数据包分享

请问数据库取出的列怎么对应到复选框中?

回复

经验分享zzyu220 发起了问题 • 1 人关注 • 0 个回复 • 1447 次浏览 • 2020-05-18 11:14 • 来自相关话题

addRightButton自定义按钮上是标题

回复

提问交流barry 发起了问题 • 1 人关注 • 0 个回复 • 1512 次浏览 • 2020-05-14 10:38 • 来自相关话题

苹果手机端上传图片问题

回复

提问交流panpan 发起了问题 • 1 人关注 • 0 个回复 • 1502 次浏览 • 2020-05-06 13:07 • 来自相关话题

addFilter 中使用了cache方法,缓存名称有问题

回复

BUG反馈devilmengcry 发起了问题 • 1 人关注 • 0 个回复 • 1616 次浏览 • 2020-04-22 17:35 • 来自相关话题

出现报错提示 查询表达式错误

回复

提问交流panpan 发起了问题 • 0 人关注 • 0 个回复 • 1426 次浏览 • 2020-04-17 10:33 • 来自相关话题

官方条形码插件问题

回复

BUG反馈dongjunjian 发起了问题 • 1 人关注 • 0 个回复 • 1639 次浏览 • 2020-04-03 11:21 • 来自相关话题

官方EXCEL插件问题

回复

BUG反馈dongjunjian 发起了问题 • 1 人关注 • 0 个回复 • 1900 次浏览 • 2020-04-02 11:26 • 来自相关话题

请问这种动态表单怎么做?

回复

提问交流shadowtail 发起了问题 • 1 人关注 • 0 个回复 • 1280 次浏览 • 2020-03-30 09:51 • 来自相关话题

$this->error()无法跳转的坑!

BUG反馈delgo 发表了文章 • 0 个评论 • 1628 次浏览 • 2020-03-26 21:02 • 来自相关话题

因为想做一个表单提交后发现某错误后跳转出去后台的功能,所以用到了$this->error($msg,$url),结果发现跳转完全不起作用。但是$this->success($msg,$url)跳转却可以。
看了看thinkphp官方的代码,没有发现自己传递参数时有啥错误。
代码在thinkphp/traits/controller/jump.php中。
/**
* 操作错误跳转的快捷方法
* @access protected
* @param mixed $msg 提示信息
* @param string $url 跳转的URL地址
* @param mixed $data 返回的数据
* @param integer $wait 跳转等待时间
* @param array $header 发送的Header信息
* @return void
*/
protected function error($msg = '', $url = null, $data = '', $wait = 3, array $header = [])
{
$type = $this->getResponseType();
if (is_null($url)) {
$url = $this->app['request']->isAjax() ? '' : 'javascript:history.back(-1);';
} elseif ('' !== $url) {
$url = (strpos($url, '://') || 0 === strpos($url, '/')) ? $url : $this->app['url']->build($url);

}

$result = [
'code' => 0,
'msg' => $msg,
'data' => $data,
'url' => $url,
'wait' => $wait,
];

if ('html' == strtolower($type)) {
$type = 'jump';
}

$response = Response::create($result, $type)->header($header)->options(['jump_template' => $this->app['config']->get('dispatch_error_tmpl')]);
throw new HttpResponseException($response);
}
然后再看thinkphp文档,发现有一句error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会自动转换为default_ajax_return配置的格式返回信息。 success在Ajax请求下不返回信息,需要开发者自行处理。围绕这个找了半天,发现能力有限,确实翻找不到,最终在dolphin.js260行左右找到了代码。
tips(msg, 'danger');对表单提交时候的$this->error();有效,于是在下面加了一句。
if(res.url){
setTimeout(function(){
parent.location.href = res.url;
},res.wait*1000)
}这下可以实现了,但是其实根本的问题没能解决,也算是个BUG吧,请官方看看是哪里的问题。 查看全部
因为想做一个表单提交后发现某错误后跳转出去后台的功能,所以用到了$this->error($msg,$url),结果发现跳转完全不起作用。但是$this->success($msg,$url)跳转却可以。
看了看thinkphp官方的代码,没有发现自己传递参数时有啥错误。
代码在thinkphp/traits/controller/jump.php中。
/**
* 操作错误跳转的快捷方法
* @access protected
* @param mixed $msg 提示信息
* @param string $url 跳转的URL地址
* @param mixed $data 返回的数据
* @param integer $wait 跳转等待时间
* @param array $header 发送的Header信息
* @return void
*/
protected function error($msg = '', $url = null, $data = '', $wait = 3, array $header = [])
{
$type = $this->getResponseType();
if (is_null($url)) {
$url = $this->app['request']->isAjax() ? '' : 'javascript:history.back(-1);';
} elseif ('' !== $url) {
$url = (strpos($url, '://') || 0 === strpos($url, '/')) ? $url : $this->app['url']->build($url);

}

$result = [
'code' => 0,
'msg' => $msg,
'data' => $data,
'url' => $url,
'wait' => $wait,
];

if ('html' == strtolower($type)) {
$type = 'jump';
}

$response = Response::create($result, $type)->header($header)->options(['jump_template' => $this->app['config']->get('dispatch_error_tmpl')]);
throw new HttpResponseException($response);
}

然后再看thinkphp文档,发现有一句
error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会自动转换为default_ajax_return配置的格式返回信息。 success在Ajax请求下不返回信息,需要开发者自行处理。
围绕这个找了半天,发现能力有限,确实翻找不到,最终在dolphin.js260行左右找到了代码。
tips(msg, 'danger');
对表单提交时候的$this->error();有效,于是在下面加了一句。
if(res.url){
setTimeout(function(){
parent.location.href = res.url;
},res.wait*1000)
}
这下可以实现了,但是其实根本的问题没能解决,也算是个BUG吧,请官方看看是哪里的问题。

选择性加载tags里的config和hook

回复

功能建议simone 发起了问题 • 1 人关注 • 0 个回复 • 1569 次浏览 • 2020-03-19 10:46 • 来自相关话题

寻找有时间做外包的兄弟

回复

经验分享chuangsjh 发起了问题 • 1 人关注 • 0 个回复 • 1663 次浏览 • 2020-03-07 21:57 • 来自相关话题

新增菜单,点击新增菜单报404错误。旧菜单没问题

回复

BUG反馈yzh 发起了问题 • 1 人关注 • 0 个回复 • 1366 次浏览 • 2019-12-18 10:49 • 来自相关话题

->setTableName无效

提问交流delgo 发表了文章 • 0 个评论 • 1217 次浏览 • 2019-11-27 20:27 • 来自相关话题

return ZBuilder::make('table')
->setTableName('cms_document_article',true)
->setSearch(['title' => '标题', 'cms_column.name' => '栏目名称']) // 设置搜索框
->addColumns([ // 批量添加数据列
['id', 'ID'],
['title', '标题'],
['column_name', '栏目名称'],
['view', '点击量'],
['username', '发布人'],
['update_time', '更新时间', 'datetime'],
['sort', '排序', 'text.edit'],
['status', '状态', 'switch'],
['right_button', '操作', 'btn']
])
->addTopButtons('add,enable,disable,delete') // 批量添加顶部按钮
->addRightButtons(['edit', 'delete']) // 批量添加右侧按钮
->addOrder(['column_name' => 'cms_document.cid'])
->addOrder('id,title,view,username,update_time')
->addFilter(['column_name' => 'cms_column.name', 'username' => 'admin_user'])
->setRowList($data_list) // 设置表格数据
->fetch(); // 渲染模板提示[size=14]SQLSTATE[42S02]: Base table or view not found: 1146 Table '****.dp_' doesn't exist[/size]




放addcolumn前,放addcolumn后都没用,就一直是dp_。
prefix设置成0,1,2 true false也都没用。删了->settablename,quickedit依然是获取不到表的值。但是buildor的方法里是能获取到值并返回的。补充一下:模块名CMS 控制器名字document,方法是document_list。cms_document_article是我自定义模型的表,想要在文档列表这个控制器里加个该栏目下文档的页面。另外给个建议,我是觉得目前的CMS比较鸡肋,框架发展离不开好的应用支撑啊。尤其是官方都写了cms了,为啥不好好的弄弄呢。只是建议啊,可能说的比较直接,抱歉。



为啥说比较鸡肋呢,最典型的就是我个人感觉啊,这个内容模型的设置很反人类。开放人员肯定知道内容模型是干啥的。可用户大部分人肯定不知道这个是什么东西啊。用户习惯的操作是需要很便捷很易懂的,我都需要进去看看代码才能懂的设置,他们怎么可能会懂啊。有几个地方觉得很理解不能。一是内容模型分是系统模型和独立模型,可在常用操作的文档列表里竟然是独立模型的文章看不到的。不应该是全部文章吗?



二、发布文章需要先选择栏目,一个下拉框,那如果我有100个栏目300个栏目呢?直接劝退。





三、栏目管理每个栏目下加个这个栏目的文章列表的页面啊,大部分CMS都这么做,用户早就这么操作习惯了。





四、栏目管理里也直接加个发布文档啊,同样大部分CMS也是这么做的,用户操作习惯了。





只是建议,可能官方考虑的是引领操作潮流啥的。总之希望dolphinphp越来越好。再更新一下,找到原因了,首先在JS里找到了var $data = {
value: $switch.prop('checked'),
_t: $switch.data('table') || '',
name: $switch.data('field') || '',
type: 'switch',
pk: $switch.data('id') || ''
};发现本身就没提交表的数据。


然后官方本身就在该控制器下写了个quickedit,没继续去查证,但是猜测应该是这个方法覆盖了默认的quickedit方法。该方法下获取不到表的数据,但是该quickedit里有input(table),我最初是以为传递之前出了问题,漏掉了table的值,现在看根本不是了。是压根就没传递这个值。_t: $switch.data('table') 里虽然有个table,但是是一串字符,不知道是什么用意。public function quickEdit($record = )
{
$id = input('post.pk', '');
$field = input('post.name', '');
$value = input('post.value', '');
$table = input('post.table', '');
halt(input());
$document = Db::name($table)->where('id', $id)->value($field);
$details = '表名('.$table.'),字段(' . $field . '),原值(' . $document . '),新值:(' . $value . ')';
return parent::quickEdit(['document_edit', 'cms_document', $id, UID, $details]);
}如果自己写quickedit方法,表格里switch怎么操作其他的表。再继续更新,原来是我用的是老板的cms,新版的这个问题早解决了。
public function quickEdit($record = [])
{
$table_token = input('param._t', '');
$table_token == '' && $this->error('缺少参数');
!session('?'.$table_token) && $this->error('参数错误');

$table_data = session($table_token);
$table = $table_data['table'];
$id = input('post.pk', '');
$field = input('post.name', '');
$value = input('post.value', '');
$document = Db::name($table)->where('id', $id)->value($field);
$details = '表名(' . $table . '),字段(' . $field . '),原值(' . $document . '),新值:(' . $value . ')';
return parent::quickEdit(['document_edit', 'cms_document', $id, UID, $details]);
} 查看全部
return ZBuilder::make('table')
->setTableName('cms_document_article',true)
->setSearch(['title' => '标题', 'cms_column.name' => '栏目名称']) // 设置搜索框
->addColumns([ // 批量添加数据列
['id', 'ID'],
['title', '标题'],
['column_name', '栏目名称'],
['view', '点击量'],
['username', '发布人'],
['update_time', '更新时间', 'datetime'],
['sort', '排序', 'text.edit'],
['status', '状态', 'switch'],
['right_button', '操作', 'btn']
])
->addTopButtons('add,enable,disable,delete') // 批量添加顶部按钮
->addRightButtons(['edit', 'delete']) // 批量添加右侧按钮
->addOrder(['column_name' => 'cms_document.cid'])
->addOrder('id,title,view,username,update_time')
->addFilter(['column_name' => 'cms_column.name', 'username' => 'admin_user'])
->setRowList($data_list) // 设置表格数据
->fetch(); // 渲染模板
提示[size=14]SQLSTATE[42S02]: Base table or view not found: 1146 Table '****.dp_' doesn't exist[/size]




放addcolumn前,放addcolumn后都没用,就一直是dp_。
prefix设置成0,1,2 true false也都没用。删了->settablename,quickedit依然是获取不到表的值。但是buildor的方法里是能获取到值并返回的。
补充一下:模块名CMS 控制器名字document,方法是document_list。cms_document_article是我自定义模型的表,想要在文档列表这个控制器里加个该栏目下文档的页面。另外给个建议,我是觉得目前的CMS比较鸡肋,框架发展离不开好的应用支撑啊。尤其是官方都写了cms了,为啥不好好的弄弄呢。只是建议啊,可能说的比较直接,抱歉。



为啥说比较鸡肋呢,最典型的就是我个人感觉啊,这个内容模型的设置很反人类。开放人员肯定知道内容模型是干啥的。可用户大部分人肯定不知道这个是什么东西啊。用户习惯的操作是需要很便捷很易懂的,我都需要进去看看代码才能懂的设置,他们怎么可能会懂啊。有几个地方觉得很理解不能。
一是内容模型分是系统模型和独立模型,可在常用操作的文档列表里竟然是独立模型的文章看不到的。不应该是全部文章吗?



二、发布文章需要先选择栏目,一个下拉框,那如果我有100个栏目300个栏目呢?直接劝退。





三、栏目管理每个栏目下加个这个栏目的文章列表的页面啊,大部分CMS都这么做,用户早就这么操作习惯了。





四、栏目管理里也直接加个发布文档啊,同样大部分CMS也是这么做的,用户操作习惯了。





只是建议,可能官方考虑的是引领操作潮流啥的。总之希望dolphinphp越来越好。
再更新一下,找到原因了,首先在JS里找到了
var $data = {
value: $switch.prop('checked'),
_t: $switch.data('table') || '',
name: $switch.data('field') || '',
type: 'switch',
pk: $switch.data('id') || ''
};
发现本身就没提交表的数据。


然后官方本身就在该控制器下写了个quickedit,没继续去查证,但是猜测应该是这个方法覆盖了默认的quickedit方法。该方法下获取不到表的数据,但是该quickedit里有input(table),我最初是以为传递之前出了问题,漏掉了table的值,现在看根本不是了。是压根就没传递这个值。
_t: $switch.data('table') 里虽然有个table,但是是一串字符,不知道是什么用意。
public function quickEdit($record = )
{
$id = input('post.pk', '');
$field = input('post.name', '');
$value = input('post.value', '');
$table = input('post.table', '');
halt(input());
$document = Db::name($table)->where('id', $id)->value($field);
$details = '表名('.$table.'),字段(' . $field . '),原值(' . $document . '),新值:(' . $value . ')';
return parent::quickEdit(['document_edit', 'cms_document', $id, UID, $details]);
}
如果自己写quickedit方法,表格里switch怎么操作其他的表。
再继续更新,原来是我用的是老板的cms,新版的这个问题早解决了。
public function quickEdit($record = [])
{
$table_token = input('param._t', '');
$table_token == '' && $this->error('缺少参数');
!session('?'.$table_token) && $this->error('参数错误');

$table_data = session($table_token);
$table = $table_data['table'];
$id = input('post.pk', '');
$field = input('post.name', '');
$value = input('post.value', '');
$document = Db::name($table)->where('id', $id)->value($field);
$details = '表名(' . $table . '),字段(' . $field . '),原值(' . $document . '),新值:(' . $value . ')';
return parent::quickEdit(['document_edit', 'cms_document', $id, UID, $details]);
}

最新版本 判断按钮授权代码有问题

回复

BUG反馈laozhu1986 发起了问题 • 1 人关注 • 0 个回复 • 1798 次浏览 • 2019-11-22 11:11 • 来自相关话题

在用cms模板改写自己的功能时,quickedit总是在我的表前面加上cms_前缀,如何解决?

回复

提问交流telecomer 发起了问题 • 1 人关注 • 0 个回复 • 1570 次浏览 • 2019-10-21 16:35 • 来自相关话题

excel导出怎么添加数据验证

回复

提问交流风尘 发起了问题 • 1 人关注 • 0 个回复 • 1679 次浏览 • 2019-10-20 18:43 • 来自相关话题

调用第三方物流公司API即时查询物流信息

经验分享fire70 发表了文章 • 0 个评论 • 1291 次浏览 • 2019-10-14 18:21 • 来自相关话题

海豚php图片上传 路径

回复

提问交流我很烦 发起了问题 • 1 人关注 • 0 个回复 • 2306 次浏览 • 2019-09-25 20:30 • 来自相关话题

自定义表单项公共资源无法加载

回复

BUG反馈dqmir 发起了问题 • 1 人关注 • 0 个回复 • 1350 次浏览 • 2019-09-25 18:04 • 来自相关话题

旧版本from 中分组下复选框默认值无法显示问题怎么更新

回复

提问交流smile001 发起了问题 • 2 人关注 • 0 个回复 • 1621 次浏览 • 2019-09-25 11:50 • 来自相关话题