Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 693|回复: 7

使用标准DZ后台方案,不允许自建后台

[复制链接]
发表于 2019-3-2 12:56:49 | 显示全部楼层 |阅读模式
民审您好,这里有个问题需要咨询下:
1、插件应用开发的时候,审核驳回理由是 使用标准DZ后台方案,不允许自建后台
此处的不允许自建后台 是指只能使用dz后台样式创建各类表单 还是说不能在后台点击超链接打开新页面方式?

如果管理的页面是在后台页面的iframe中打开的 是否可行?

我的插件流程是这样的,请看下图流程:



图2中 如果点击链接是在图2的iframe打开的是否就可以?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2019-3-2 13:24:19 | 显示全部楼层
css样式没有限定使用自带的,可以用自己的
后台管理应该通过admin.php文件被调用执行,而不建议用前台的plugin.php
回复

使用道具 举报

 楼主| 发表于 2019-3-3 19:57:59 | 显示全部楼层
民审大大 发表于 2019-3-2 13:24
css样式没有限定使用自带的,可以用自己的
后台管理应该通过admin.php文件被调用执行,而不建议用前台的pl ...

您好,如果用admin.php文件,所有ajax将不能返回json格式,请问这个有办法可以解决吗 ?
回复

使用道具 举报

发表于 2019-3-3 20:59:33 | 显示全部楼层
光吃天下 发表于 2019-3-3 19:57
您好,如果用admin.php文件,所有ajax将不能返回json格式,请问这个有办法可以解决吗 ?

页面传递 inajax=1 参数
回复

使用道具 举报

 楼主| 发表于 2019-3-4 09:19:33 | 显示全部楼层
民审大大 发表于 2019-3-3 20:59
页面传递 inajax=1 参数

您好,如果是在插件设置下还是会出现问题

例如,我设置插件的模块类型为【管理中心】,且【程序模块】设置成 admin 【链接名称】设置成 管理

那么 在应用列表的本插件将会出现  管理 两字 且链接会是
admin.php?action=plugins&operation=config&do=40&identifier=junhua_usercenter&pmod=admin
如下图:


按程序流程下去,程序会跑到admin.php的57行内进行执行 如下图:


$admincp->admincpfile($action); 执行的结果就是引入下方文件

'./source/admincp/admincp_plugins.php';


然后分析 admincp_plugins.php文件之后 发现此文件的14行有函数 cpheader();

也就是只要引入文件之后  第一个执行的就是 cpheader();这个函数,此函数的内容如下

  1. function cpheader() {
  2.         global $_G;

  3.         if(!defined('DISCUZ_CP_HEADER_OUTPUT')) {
  4.                 define('DISCUZ_CP_HEADER_OUTPUT', true);
  5.         } else {
  6.                 return true;
  7.         }
  8.         $IMGDIR = $_G['style']['imgdir'];
  9.         $STYLEID = $_G['setting']['styleid'];
  10.         $VERHASH = $_G['style']['verhash'];
  11.         $frame = getgpc('frame') != 'no' ? 1 : 0;
  12.         $charset = CHARSET;
  13.         $basescript = ADMINSCRIPT;
  14.         echo <<<EOT

  15. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  16. <html xmlns="http://www.w3.org/1999/xhtml">
  17. <head>
  18. <meta http-equiv="Content-Type" content="text/html; charset=$charset">
  19. <meta http-equiv="x-ua-compatible" content="ie=7" />
  20. <link href="static/image/admincp/admincp.css?{$_G[style][verhash]}" rel="stylesheet" type="text/css" />
  21. </head>
  22. <body>
  23. <script type="text/JavaScript">
  24. var admincpfilename = '$basescript', IMGDIR = '$IMGDIR', STYLEID = '$STYLEID', VERHASH = '$VERHASH', IN_ADMINCP = true, ISFRAME = $frame, STATICURL='static/', SITEURL = '$_G[siteurl]', JSPATH = '{$_G[setting][jspath]}';
  25. </script>
  26. <script src="{$_G[setting][jspath]}common.js?{$_G[style][verhash]}" type="text/javascript"></script>
  27. <script src="{$_G[setting][jspath]}admincp.js?{$_G[style][verhash]}" type="text/javascript"></script>
  28. <script type="text/javascript">
  29. if(ISFRAME && !parent.document.getElementById('leftmenu') && !parent.parent.document.getElementById('leftmenu')) {
  30.         redirect(admincpfilename + '?frames=yes&' + document.URL.substr(document.URL.indexOf(admincpfilename) + admincpfilename.length + 1));
  31. }
  32. </script>
  33. <div id="append_parent"></div><div id="ajaxwaitid"></div>
  34. <div class="container" id="cpcontainer">
  35. EOT;

  36.         if(empty($_G['inajax'])) {
  37.                 register_shutdown_function('cpfooter');
  38.         }
  39. }
复制代码


分析之后发现函数中是任何条件下 都会执行 这个 echo 操作,也就是 不管任何情况下,只要是 admin.php?action=plugins 链接下的任何ajax操作,都是无法做到正确的json 或者 xml数据,哪怕用上了 inajax=1 也是无效的


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2019-3-4 12:54:25 | 显示全部楼层
ajaxshowheader();
你的xml
ajaxshowfooter();
回复

使用道具 举报

 楼主| 发表于 2019-3-4 13:03:24 | 显示全部楼层
民审大大 发表于 2019-3-4 12:54
ajaxshowheader();
你的xml
ajaxshowfooter();

忘记还有这茬,万分感谢
回复

使用道具 举报

 楼主| 发表于 2019-3-4 14:10:05 | 显示全部楼层
民审大大 发表于 2019-3-2 13:24
css样式没有限定使用自带的,可以用自己的
后台管理应该通过admin.php文件被调用执行,而不建议用前台的pl ...

您好,上次那个问题还是没整明白
我的插件是 junhua_usercenter.plugin
能麻烦您帮我再看看吗? 如果方便希望可以加下Q聊几句 谢谢 我的Q 5375530
提交审核之后打回的问题如下图:



按最新一条驳回的理由,民审的意思是 只要在后台iframe中打开 就可以了? 还是说必须用admin.php,对其他方式一定是零容忍
我现在的方式是在插件设计时 【模块类型】为 主导航项目 - 插件菜单】 并且设置使用等级为【管理员】可操作如下图




也就是把所有插件的配置移到插件中配置,和管理端无关,但依然被驳回。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

腾讯云市场 一站式企业服务 爆款建站、小程序等1元起

QQ|小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2019-12-6 18:01

Powered by Discuz! X3.3

Copyright © 2001-2019 Tencent Cloud.

快速回复 返回顶部 返回列表