国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

【phpcms-v9】phpcms-v9中模板載入函數template詳解

2024-09-10 07:15:53
字體:
來源:轉載
供稿:網友
  1. /** 
  2.  * 模板調用 
  3.  * 
  4.  * @param $module 
  5.  * @param $template 
  6.  * @param $istag 
  7.  * @return unknown_type 
  8.  */ 
  9. function template($module = 'content'$template = 'index'$style = '') { 
  10.  
  11.  
  12. if(strpos($module'plugin/')!== false) { //一般情況下不會執行if里面的代碼 
  13. $plugin = str_replace('plugin/'''$module); 
  14. return p_template($plugin$template,$style); 
  15. $module = str_replace('/', DIRECTORY_SEPARATOR, $module); 
  16. //將前者替換為后者,一般情況下$module中不會出現分隔符 
  17. //第一種情況:模板風格參數3不為空的情況 
  18. if(!emptyempty($style) && preg_match('/([a-z0-9/-_]+)/is',$style)) {//如果模板風格不為空,即:參數3不為空的情況 
  19.  
  20.  
  21. //第二種情況:模板風格參數3為空,并且在添加欄目時未指定模板風格的情況,將獲取站點中設置的模板風格 
  22. elseif (emptyempty($style) && !defined('STYLE')) { 
  23.   //兩個條件:1.如果模板風格為空,即,參數3為空  2.如果模板風格常量也未定義 
  24. if(defined('SITEID')) { 
  25.   //如果站點id常量SITEID被定義過,那么將常量中的站點id作為當前站點id 
  26. $siteid = SITEID; 
  27.   //注意:SITEID與STYLE常量的定義最有可能的地方是在當前控制器文件中 
  28. else { 
  29. $siteid = param::get_cookie('siteid'); 
  30.    //從cookie中獲取站點id 
  31. if (!$siteid$siteid = 1; 
  32. //如果獲取不到站點id,則設置默認站點id值為1 
  33. $sitelist = getcache('sitelist','commons'); 
  34. //站點緩存文件:獲取站點緩存文件中所有站點的詳細配置信息 
  35. if(!emptyempty($siteid)) { 
  36. //如果站點id不為空 
  37. $style = $sitelist[$siteid]['default_style']; //獲取當前站點下的默認模板風格,即:在設置站點信息時選擇的模板風格 
  38. //第三種情況:模板風格參數3為空,并且在添加欄目時指定了模板風格的情況,將獲取添加欄目時指定的模板風格 
  39. elseif (emptyempty($style) && defined('STYLE')) { 
  40. //兩個條件:1.參數3為空   2.模板風格常量在控制器中定義 
  41. $style = STYLE; 
  42. //第四種情況:默認模板風格 
  43. //將控制器中定義的模板風格常量作為當前模板風格 
  44. else {  //STYLE:添加欄目時選擇的模板風格 
  45. $style = 'default'
  46. //默認模板風格  
  47. if(!$style$style = 'default'
  48. $template_cache = pc_base::load_sys_class('template_cache');//模板解析類,路徑:phpcms/libs/classes/template_cache.class.php 
  49. //編譯文件緩存路徑:根目錄/caches/caches_template/default/content/index.php 
  50. $compiledtplfile = PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR.'caches_template'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.php'
  51. //路徑:phpcms/templates/dafault/content/index.html ,如:首頁模板文件 
  52. if(file_exists(PC_PATH.'templates'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html')) { 
  53. //如果編譯文件不存在或者說模板文件的創建時間大于編譯文件的生成時間,則重新編譯 
  54. if(!file_exists($compiledtplfile) || (@filemtime(PC_PATH.'templates'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html') > @filemtime($compiledtplfile))) { 
  55. $template_cache->template_compile($module$template$style);//適用模板風格不是default的情況 
  56. else { 
  57. //編譯文件緩存路徑:根目錄/caches/caches_template/default/content/index.php 
  58. $compiledtplfile = PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR.'caches_template'.DIRECTORY_SEPARATOR.'default'.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.php'
  59. //如果編譯文件不存在或者說前臺公共的模板文件存在,并且前臺公共模板文件的創建時間大于編譯文件的生成時間 
  60. if(!file_exists($compiledtplfile) || (file_exists(PC_PATH.'templates'.DIRECTORY_SEPARATOR.'default'.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html') && filemtime(PC_PATH.'templates'.DIRECTORY_SEPARATOR.'default'.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html') > filemtime($compiledtplfile))) { 
  61. //重新編譯 
  62. $template_cache->template_compile($module$template'default');//適用于模板風格為default的情況 
  63. elseif (!file_exists(PC_PATH.'templates'.DIRECTORY_SEPARATOR.'default'.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html')) { 
  64. //如果前臺公共的模板文件不存在的話,則提示模板不存在 
  65. showmessage('Template does not exist.'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$module.DIRECTORY_SEPARATOR.$template.'.html');//開源代碼Vevb.com 
  66. //返回編譯文件 
  67. return $compiledtplfile
  68. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 章丘市| 石林| 泌阳县| 察隅县| 双城市| 赞皇县| 井研县| 五华县| 滕州市| 莆田市| 如东县| 明水县| 苍溪县| 搜索| 滕州市| 龙川县| 梧州市| 虹口区| 石屏县| 崇文区| 柳州市| 澄迈县| 扎兰屯市| 津南区| 临汾市| 南投县| 出国| 沭阳县| 广河县| 盘锦市| 建瓯市| 抚远县| 大庆市| 浠水县| 临武县| 贵州省| 太保市| 郎溪县| 当阳市| 仁布县| 湘西|