• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد کلاس تمپلیت
#1
سلام
یک مشکل اساسی در کارکردن با ci نداشتن تمپلیت انجین هست که باید توسط خودمون پیاده سازی بشه

کلاس اصلی اینه:
کد پی‌اچ‌پی:
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
 * Template Class
 *
 * Template View Parse Class
 *
 * @package     CodeIgniter
 * @subpackage  Libraries
 * @category    Templates
 * @author      [email protected]
 * @link
 */
class Template {

    var 
$CI;
    var 
$vars=array();
    var 
$child=array();
    
    
/**
     * Constructor
     *
     * @access    public
     */
    
function __construct()
    {            
        
$this->theme_url=APPPATH'themes/main/';

        
self::get_links();
        
log_message('debug'"Template Class Initialized");
    }


    function 
__set($key,$val)
    {
        
$this->vars[$key]=$val;
    }

    function 
__get($key)
    {
        return 
$this->vars[$key];
    }

    
// --------------------------------------------------------------------

    /**
     * Load template
     *
     * @access   public
     * @param    String
     * @param    Array
     * @param    Array
     * @param    bool
     * @return   parsed view
     */
    
function load($template ''$view = array(), $vars = array(), $return FALSE)
    {
        
$this->CI =& get_instance();
        
$tpl =  $this->vars;

        
// Check for partials to load
        
if (count($view) > 0)
        {
            
// Load views into var array
            
foreach($view as $key => $file)
            {
                
$tpl[$key] = $this->CI->load->view($file$varsTRUE);
            }
            
// Merge into vars array
            
$vars array_merge($vars$tpl);
        }
        
$vars array_merge($vars$tpl);

        
// Load master template
        
return $this->CI->load->view($this->theme_url.$template$vars$return);
    }


برای استفاده از کلاس بالا در یک اکشن می تونید به زوش زیر عمل کنید.
کد زیر تستیه برای کار خودتون تعویضش کنید
کد پی‌اچ‌پی:
function view($id)
    {
        if( ! 
$data['result']=$this->newsmodel->view($id))
        {
            
show_404();
        }
        
$this->template->__set("PageTitle",'نمایش خبر - '.$data['result']->title);
        
        
$partials = array('content'=>'news/view');

        
$this->template->load('main'$partials$data);
        
//$this->load->view('news/view',$data);
    

شما نیاز دارید که کلاس تمپلیت رو در اتولود وارد کنید.
  پاسخ
تشکر شده توسط : farhad.programmer cyletech molana
#2
مجموعه ای از موتور قالب پی اچ پی شما می توانید بررسی کنید در صفحه :قالب پی اچ پی
امیدوارم شما کمک می کند
گرم رابطه
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان