PHPCMS栏目管理中添加栏目图组(栏目多图上传)

之前发表过一篇《PHPCMS V9单页面添加组图字段》的文章,是在后台添加或编辑单页面内容处增加图组功能,然后前台单页面调用图组。今天要说的是在栏目管理处,也就是添加或修改栏目时,有上传栏目图组的功能。两者都源自系统本身的图组,实现上有类似的地方。

实现流程:

一、栏目表中添加栏目多图字段
PHPCMS栏目管理中添加栏目图组(栏目多图上传)_第1张图片

 

二、系统扩展函数文件phpcms/libs/functions/extention.func.php中添加函数catimages()

/**
 * WY ADD AT 2018/05/14
 * 后台栏目管理中添加组图上传
 * 返回多图上传
 * @param $field  多图字段名
 * @param $catid  当前栏目ID
 * @param $value  多图字段值
 */
function catimages($field,$catid,$value) {
    $list_str = '';
    if($value) {
        $value = string2array(new_html_entity_decode($value));
        if(is_array($value)) {
            foreach($value as $_k=>$_v) {
            $list_str .= "";
            }
        }
    } else {
        $list_str .= "
".L('upload_pic_max', '', 'content')." 50 ".L('tips_pics', '', 'content')."
"; } $string = '
'.L('pic_list').''; $string .= $list_str; $string .= '
'; if(!defined('IMAGES_INIT')) { $str = ''; define('IMAGES_INIT', 1); } $str = ''; $authkey = upload_key("50,gif|jpg|jpeg|png|bmp,1"); $string .= $str.""; return $string; }

三、后台栏目管理控制器phpcms/modules/admin/category.php中,添加栏目和修改栏目的方法中分别添加栏目多图上传处理:

添加栏目public function add()中的$_POST['info']['siteid'] = $this->siteid;前加入如下代码:

//取得图片列表 wy add at 2018-05-14
$catpics = $_POST['catpics_url'];
//取得图片说明
$catpics_alt = isset($_POST['catpics_alt']) ? $_POST['catpics_alt'] : array();
$catpicsarray = $temp = array();
if(!empty($catpics)) {
	foreach($catpics as $key=>$pic) {
		$temp['url'] = $pic;
		$temp['alt'] = str_replace(array('"',"'"),'`',$catpics_alt[$key]);
		$catpicsarray[$key] = $temp;
	}
}
$catpicsarray = array2string($catpicsarray);
$_POST['info']['catpics'] = $catpicsarray;

 

 

修改栏目public function edit()中的$this->db->update($_POST['info'],array('catid'=>$catid,'siteid'=>$this->siteid));前加入如下代码:

//取得图片列表 wy add at 2018-05-14
$catpics = $_POST['catpics_url'];
//取得图片说明
$catpics_alt = isset($_POST['catpics_alt']) ? $_POST['catpics_alt'] : array();
$catpicsarray = $temp = array();
if(!empty($catpics)) {
	foreach($catpics as $key=>$pic) {
		$temp['url'] = $pic;
		$temp['alt'] = str_replace(array('"',"'"),'`',$catpics_alt[$key]);
		$catpicsarray[$key] = $temp;
	}
}
$catpicsarray = array2string($catpicsarray);
$_POST['info']['catpics'] = $catpicsarray;

 

四、在栏目(含单网页)添加、修改的模板页面(phpcms\modules\admin\templates目录下的category_add.tpl.php、category_edit.tpl.php、category_page_add.tpl.php、category_page_edit.tpl.php)中,分别添加如下代码:

category_add.tpl.php文件第77行加入如下代码:



组图:




category_edit.tpl.php文件第67行加入如下代码:



组图:




category_page_add.tpl.php文件第60行加入如下代码:



组图:




category_page_edit.tpl.php文件第46行加入如下代码:



组图:




五、更新缓存,并在添加栏目或修改栏目时上传多图

PHPCMS栏目管理中添加栏目图组(栏目多图上传)_第2张图片

六,在前台模板中调用

只调用当前栏目组图:
{loop string2array($CATEGORYS[$catid][catpics]) $vimages}
{$vimages['alt']}
{/loop}

调用当前栏目下每个子栏目组图:
{loop subcat($catid) $c}
   


        {loop string2array($c[catpics]) $vimages}
        {$vimages['alt']}
        {/loop}
   

{/loop}

你可能感兴趣的:(PHPCMS,PHPCMS栏目组图,PHPCMS栏目多图功能)