国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
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.

120 lines
2.9KB

  1. <?php if(!defined('DEDEINC')) exit("Request Error!");
  2. /**
  3. * 单表模型视图类
  4. *
  5. * @version $Id: arc.sgpage.class.php 1 15:48 2010年7月7日Z tianya $
  6. * @package DedeCMS.Libraries
  7. * @copyright Copyright (c) 2020, DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license/v6
  9. * @link https://www.dedebiz.com
  10. */
  11. require_once(DEDEINC."/arc.partview.class.php");
  12. /**
  13. * 单表模型列表视图类
  14. *
  15. * @package SgListView
  16. * @subpackage DedeCMS.Libraries
  17. * @link https://www.dedebiz.com
  18. */
  19. class sgpage
  20. {
  21. var $dsql;
  22. var $dtp;
  23. var $TypeID;
  24. var $Fields;
  25. var $TypeLink;
  26. var $partView;
  27. /**
  28. * php5构造函数
  29. *
  30. * @access public
  31. * @param int $aid 内容ID
  32. * @return string
  33. */
  34. function __construct($aid)
  35. {
  36. global $cfg_basedir,$cfg_templets_dir,$cfg_df_style,$envs;
  37. $this->dsql = $GLOBALS['dsql'];
  38. $this->dtp = new DedeTagParse();
  39. $this->dtp->refObj = $this;
  40. $this->dtp->SetNameSpace("dede","{","}");
  41. $this->Fields = $this->dsql->GetOne("SELECT * FROM `#@__sgpage` WHERE aid='$aid' ");
  42. $envs['aid'] = $this->Fields['aid'];
  43. //设置一些全局参数的值
  44. foreach($GLOBALS['PubFields'] as $k=>$v)
  45. {
  46. $this->Fields[$k] = $v;
  47. }
  48. if($this->Fields['ismake']==1)
  49. {
  50. $pv = new PartView();
  51. $pv->SetTemplet($this->Fields['body'],'string');
  52. $this->Fields['body'] = $pv->GetResult();
  53. }
  54. $tplfile = $cfg_basedir.str_replace('{style}',$cfg_templets_dir.'/'.$cfg_df_style,$this->Fields['template']);
  55. $this->dtp->LoadTemplate($tplfile);
  56. $this->ParseTemplet();
  57. }
  58. //php4构造函数
  59. function sgpage($aid)
  60. {
  61. $this->__construct($aid);
  62. }
  63. /**
  64. * 显示内容
  65. *
  66. * @access public
  67. * @return void
  68. */
  69. function Display()
  70. {
  71. $this->dtp->Display();
  72. }
  73. /**
  74. * 获取内容
  75. *
  76. * @access public
  77. * @return void
  78. */
  79. function GetResult()
  80. {
  81. return $this->dtp->GetResult();
  82. }
  83. /**
  84. * 保存结果为文件
  85. *
  86. * @access public
  87. * @return void
  88. */
  89. function SaveToHtml()
  90. {
  91. $filename = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_cmspath'].'/'.$this->Fields['filename'];
  92. $filename = preg_replace("/\/{1,}/", '/', $filename);
  93. $this->dtp->SaveTo($filename);
  94. }
  95. /**
  96. * 解析模板里的标签
  97. *
  98. * @access public
  99. * @return string
  100. */
  101. function ParseTemplet()
  102. {
  103. $GLOBALS['envs']['likeid'] = $this->Fields['likeid'];
  104. MakeOneTag($this->dtp,$this);
  105. }
  106. //关闭所占用的资源
  107. function Close()
  108. {
  109. }
  110. }//End Class