项目发现ECmobile的应用首页的特价区只显示1个商品和分类区只显示2个商品,需要按要求显示
于是查找了接口文件/Controller/Home/Data.php
发现代码 function gz_get_promote_goods($cats = ”)中的如下代码
/* 取得促销lbi的数量限制 */
$num = get_library_number(“recommend_promotion”);
那么recommend_promotion在哪设置的?
于是又去找函数位置get_library_number()在哪
发现在\includes\lib_main.php中
代码如下:
/**
* 取得某模板某库设置的数量
* @param string $template 模板名,如index
* @param string $library 库名,如recommend_best
* @param int $def_num 默认数量:如果没有设置模板,显示的数量
* @return int 数量
*/
function get_library_number($library, $template = null)
{
global $page_libs;
if (empty($template))
{
$template = basename(PHP_SELF);
$template = substr($template, 0, strrpos($template, '.'));
}
$template = addslashes($template);
static $lib_list = array();
/* 如果没有该模板的信息,取得该模板的信息 */
if (!isset($lib_list[$template]))
{
$lib_list[$template] = array();
$sql = "SELECT library, number FROM " . $GLOBALS['ecs']->table('template') .
" WHERE theme = '" . $GLOBALS['_CFG']['template'] . "'" .
" AND filename = '$template' AND remarks='' ";
$res = $GLOBALS['db']->query($sql);
while ($row = $GLOBALS['db']->fetchRow($res))
{
$lib = basename(strtolower(substr($row['library'], 0, strpos($row['library'], '.'))));
$lib_list[$template][$lib] = $row['number'];
}
}
$num = 0;
if (isset($lib_list[$template][$library]))
{
$num = intval($lib_list[$template][$library]);
}
else
{
/* 模板设置文件查找默认值 */
include_once(ROOT_PATH . ADMIN_PATH . '/includes/lib_template.php');
static $static_page_libs = null;
if ($static_page_libs == null)
{
$static_page_libs = $page_libs;
}
$lib = '/library/' . $library . '.lbi';
$num = isset($static_page_libs[$template][$lib]) ? $static_page_libs[$template][$lib] : 3;
}
return $num;
}
发现,它是在ecs_template中设置的,那么就简单了,就到数据库查询设置的显示数量,修改了即可了,开源没有文档真的很坑爹,
Mikel
