Heim  >  Artikel  >  Backend-Entwicklung  >  Holen Sie sich die Vorlagenfunktion

Holen Sie sich die Vorlagenfunktion

WBOY
WBOYOriginal
2016-08-08 09:31:461004Durchsuche
public function actionChangetemplate() {
                $status=true;
                $interactive_id=  (int)filter_input(INPUT_POST,'id');//post[id]
                $template_id= (int) filter_input(INPUT_POST, 'mb');            
		//找到页
		$interactives = Interactives::model ()->findByPk ( $interactive_id );
		//获取模板
		$interactiveTemplate = InteractiveTemplate::model ()->findByPk ( $template_id );
		//修改模板
		$interactives->template_id =$template_id;
                $interactives->save();

		// 根据用户选择的模板来设置不同的内容
		$template_info = $interactiveTemplate->template_content;	
		$interactiveContent = new InteractiveContent ();
		$interactivePic = new InteractivePic(); 
		//添加内容,以下根据content进行正则表达式匹配,生成相对应的content
		if (preg_match_all ( '/preview_t_[0-9]+/', $template_info, $arr )) {		
						//删除
			$res = InteractiveContent::model ()->deleteAll ("interactive_id=:ID",array(
					":ID"=>$interactive_id
			) );
			foreach ($arr[0] as $key=>$value){			
			$content = new InteractiveContent ();
			$content->interactive_id =$interactive_id;
			$content->color = "rgba(0,0,0,0.1)";
			$content->content = '<p style=\"text-align:left;\">\n\t<span style=\"color:#000000;line-height:1.5;font-size:24px;\"><strong>文本输入框<\/strong><\/span>\n<\/p>\n<p style=\"text-align:left;\">\n\t<span style=\"color:#000000;line-height:1.5;font-size:16px;\">您可以进行文本输入、复制、黏贴;调整字体大小、颜色、对齐、行间距;也可以对文本框本身设置相应的背景颜色以及透明度。<\/span>\n<\/p>';
			$content->c_time = date ( "y-m-d H:i:s" );
			$ret=$content->save ();
                        if($ret>0)//如果正确,则结果为true
                            $status=$status&true;
                        else
                            $status=$status&false;
			}			
		}
		//添加图片
		if (preg_match_all ( '/preview_p_[0-9]+/', $template_info, $arr )) {                    
			//删除
			$res = InteractivePic::model ()->deleteAll ("interactive_id=:ID",array(
					":ID"=>$_POST ['id']
			) );
			for($i = 1; $i <= count ( $arr[0] ); $i ++) {
				
			$interactivePic = new InteractivePic();
			
			$interactivePic->interactive_id = $_POST ['id'];
			$interactivePic->pic_scale = 2.2;
			$interactivePic->pic_src = "/images/editinteractive/pcover_000.jpg";
			$interactivePic->pic_width = 30;
			$interactivePic->pic_height =30;
			$interactivePic->pic_x = 0;
			$interactivePic->pic_y =0;
			$interactivePic->tag = $i;
			$interactivePic->c_time = date ( "y-m-d H:i:s" );			
			$ret=$interactivePic->save();
                        if($ret>0)//如果正确,则结果为true
                            $status=$status&true;
                        else
                            $status=$status&false;
			}
		}
		
		if (preg_match_all ( '/preview_s1_1_p[0-9]+/', $template_info, $arr )) {
		//删除
			$res = InteractivePic::model ()->deleteAll ("interactive_id=:ID",array(
					":ID"=>$_POST ['id']
			) );
			for($i = 1; $i <= count ( $arr[0] ); $i ++) {
				
			$interactivePic = new InteractivePic();
			
			$interactivePic->interactive_id = $_POST ['id'];
			$interactivePic->pic_scale = 2.2;
			$interactivePic->pic_src = "/images/editinteractive/pcover_000.jpg";
			$interactivePic->pic_width = 33;
			$interactivePic->pic_height =44;
			$interactivePic->pic_x = 33;
			$interactivePic->pic_y =44;
			$interactivePic->tag = 33;
			$interactivePic->c_time = date ( "y-m-d H:i:s" );			
			$ret=$interactivePic->save();
                        if($ret>0)//如果正确,则结果为true
                            $status=$status&true;
                        else
                            $status=$status&false;
			}
		}
		if (preg_match_all ( '/preview_s1_1_t[0-9]+/', $template_info, $arr )) {
		//删除
			$res = InteractiveContent::model ()->deleteAll ("interactive_id=:ID",array(
					":ID"=>$_POST ['id']
			) );
			foreach ($arr[0] as $key=>$value){
			
			$content = new InteractiveContent ();
			$content->interactive_id = $_POST ['id'];
			$content->color = "rgba(0,0,0,0.1)";
			$content->content = '<p style=\"text-align:left;\">\n\t<span style=\"color:#000000;line-height:1.5;font-size:24px;\"><strong>文本输入框<\/strong><\/span>\n<\/p>\n<p style=\"text-align:left;\">\n\t<span style=\"color:#000000;line-height:1.5;font-size:16px;\">您可以进行文本输入、复制、黏贴;调整字体大小、颜色、对齐、行间距;也可以对文本框本身设置相应的背景颜色以及透明度。<\/span>\n<\/p>';
			$content->c_time = date ( "y-m-d H:i:s" );
			$ret=$content->save ();
                        if($ret>0)//如果正确,则结果为true
                            $status=$status&true;
                        else
                            $status=$status&false;
			}
		}
		if (preg_match_all ( '/preview_s1_1_t_[0-9]+/', $template_info, $arr )) {
		//删除
			$res = InteractiveContent::model ()->deleteAll ("interactive_id=:ID",array(
					":ID"=>$_POST ['id']
			) );
			foreach ($arr[0] as $key=>$value){
			
			$content = new InteractiveContent ();
			$content->interactive_id = $_POST ['id'];
			$content->color = "rgba(0,0,0,0.1)";
			$content->content = '<p style=\"text-align:left;\">\n\t<span style=\"color:#000000;line-height:1.5;font-size:24px;\"><strong>文本输入框<\/strong><\/span>\n<\/p>\n<p style=\"text-align:left;\">\n\t<span style=\"color:#000000;line-height:1.5;font-size:16px;\">您可以进行文本输入、复制、黏贴;调整字体大小、颜色、对齐、行间距;也可以对文本框本身设置相应的背景颜色以及透明度。<\/span>\n<\/p>';
			$content->c_time = date ( "y-m-d H:i:s" );
			$ret=$content->save ();
                        if($ret>0)//如果正确,则结果为true
                            $status=$status&true;
                        else
                            $status=$status&false;
			}
		}
		

		if ($status) {
			echo json_encode ( array (
					//success
					'status' => 'success' 
			) );
		} else {
			echo json_encode ( array (
					'status' => 'fail' 
			) );
		}
	}

Das Obige stellt den Erwerb von Vorlagenfunktionen vor, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn