下面这个图中箭头指的地方肯定是一个数组,而这个数组肯定在之前是sql出来的,我想找出这个sql句,不知如何查呢源码呢?主要是关键字怎么输呢
回复讨论(解决方案)
查找 $output 变量。
在引入这个模版文件的php页面查找$output
我查了一下,没有,引入的页面是index.php
查找 $output 变量。
整个源码中有几百处引用$output,看的我头婚眼又花啊,妈牙!这可咋整,还有别的招吗?
查navigation这个model的类
我还是帖出index.php引入页的源码吧
<?php/** * 商城板块初始化文件 * * 商城板块初始化文件,引用框架初始化文件 * * * @copyright Copyright (c) 2007-2013 ShopNC Inc. (http://www.shopnc.net) * @license http://www.shopnc.net * @link http://www.shopnc.net * @since File available since Release v1.1 */define('APP_ID','cms');define('BASE_PATH',str_replace('\\','/',dirname(__FILE__)));if (!@include(dirname(dirname(__FILE__)).'/global.php')) exit('global.php isn\'t exists!');if (!@include(BASE_CORE_PATH.'/shopnc.php')) exit('shopnc.php isn\'t exists!');if (!@include(BASE_PATH.'/config/config.ini.php')){ @header("Location: install/index.php");die;}define('APP_SITE_URL',CMS_SITE_URL);define('TPL_NAME',TPL_CMS_NAME);define('BASE_TPL_PATH',BASE_PATH.'/templates/'.TPL_NAME);define('CMS_RESOURCE_SITE_URL',CMS_SITE_URL.'/resource');define('CMS_TEMPLATES_URL',CMS_SITE_URL.'/templates/'.TPL_NAME);define('CMS_BASE_TPL_PATH',dirname(__FILE__).'/templates/'.TPL_NAME);define('CMS_SEO_KEYWORD',$config['seo_keywords']);define('CMS_SEO_DESCRIPTION',$config['seo_description']);//cms框架扩展require(BASE_PATH.'/framework/function/function.php');if (!@include(BASE_PATH.'/control/control.php')) exit('control.php isn\'t exists!');Base::run();
查navigation这个model的类
不好意思,这个类有是有,但里面是空的
它里面有这么一句话:
/**
* 获取导航
*/
Tpl::output('nav_list',($nav = F('nav'))? $nav :H('nav',true,'file'));
不知从这句中查哪里呢
用 debug_backtrace 看一下
<?php print_r(debug_backtrace()); foreach($output .....
用 debug_backtrace 看一下
<?php print_r(debug_backtrace()); foreach($output .....
试了一下,打印出这么一大坨,这怎么判断呢
[code=php]Array ( [0] => Array ( [file] => D:\WWW\cms\templates\default\layout\cms_layout.php [line] => 3 [function] => require ) [1] => Array ( [file] => D:\WWW\core\framework\libraries\tpl.php [line] => 118 [args] => Array ( [0] => D:\WWW\cms\templates\default\layout\cms_layout.php ) [function] => include_once ) [2] => Array ( [file] => D:\WWW\cms\control\index.php [line] => 20 [function] => showpage [class] => Tpl [type] => :: [args] => Array ( [0] => index ) ) [3] => Array ( [file] => D:\WWW\core\framework\core\base.php [line] => 97 [function] => indexOp [class] => indexControl [object] => indexControl Object ( [publisher_name:protected] => [publisher_id:protected] => 0 [publisher_type:protected] => 0 [attachment_path:protected] => [publish_state:protected] => 2 ) [type] => -> [args] => Array ( ) ) [4] => Array ( [file] => D:\WWW\core\framework\core\base.php [line] => 52 [function] => control [class] => Base [type] => :: [args] => Array ( ) ) [5] => Array ( [file] => D:\WWW\cms\index.php [line] => 35 [function] => run [class] => Base [type] => :: [args] => Array ( ) ) )
[/code]
我突然想到了,它会不会是一个表单,因为这个是后台输入的,只要一输入就进入这个数组里面,结果一查还真是,不过还有一点疑问,那就是这个数组索引在td中啊,虽然这个td在form表单中,但是就是这样,他也不会在表单值中啊,因为表单我理解必须在input中才行,这个怎么解释呢
还有一点就是:这个 $output到底在哪里定义的,它不可能凭空就有的,肯定是在哪里定义的
我搜了下源码,到是有不少$output,但是都不象定义的初始模样,很多一看就是引用的。