You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					41 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					41 lines
				
				1.1 KiB
			| 
								 
											1 year ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								include_once SERVER_ROOT . '/library/viewtpl/extSmarty.php';
							 | 
						||
| 
								 | 
							
								include_once SERVER_ROOT . '/library/viewtpl/iDisplay.php';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class DisplaySmarty implements iDisplay {
							 | 
						||
| 
								 | 
							
								    private $smarty;
							 | 
						||
| 
								 | 
							
								    private $template;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function __construct($template, $tpl_dir='') {
							 | 
						||
| 
								 | 
							
								        // 私有路径传递
							 | 
						||
| 
								 | 
							
								        $this->smarty = new extSmarty($tpl_dir);
							 | 
						||
| 
								 | 
							
								        $this->template = $template;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function setView($view) {
							 | 
						||
| 
								 | 
							
								        $this->view = $view;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function execute() {
							 | 
						||
| 
								 | 
							
								        if(is_array($this->view)) {
							 | 
						||
| 
								 | 
							
								            foreach($this->view as $key => $value ) {
							 | 
						||
| 
								 | 
							
								                $this->smarty->assign($key, $value);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $this->smarty->display($this->template);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function save($html_path){
							 | 
						||
| 
								 | 
							
								        if(is_array($this->view)) {
							 | 
						||
| 
								 | 
							
								            foreach($this->view as $key => $value ) {
							 | 
						||
| 
								 | 
							
								                $this->smarty->assign($key, $value);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if(!file_exists(dirname($html_path))) mkdir(dirname($html_path), 0755, true);
							 | 
						||
| 
								 | 
							
								        file_put_contents($html_path, $this->smarty->fetch($this->template));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |