Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

新建一个PHP文件想调用SS里的数据和模板操作方法

[复制链接]
benba 发表于 2009-11-17 08:55:52 | 显示全部楼层 |阅读模式
好久没有和大家分享SS技术方面的知识了.今天 我来说一下利用单独的PHP文件调用SS里面的相关东东.包括登陆信息什么的.

首先我们建设一个目录 test 到SS目录下.



再到目录下建一个PHP文件为index.php


打开index.php 开始编辑;

首先要引用common.php文件,这是ss的核心文件.基本上我们引用这文件就够了.
代码:
  1. <?php
  2. include_once('./common.php');
  3. ?>
复制代码
现在我们要调用SS里的数据了.怎么操作呢?

像其它模板一样我们可以引用模板目录里的模板文件进来.
我们先把头和脚引用进来.

用SS自己定义函数
  1. <?php
  2. include_once('../common.php');
  3. include template('header');
  4.         echo '<h1 style="font-size:20px;color:red;">我是中间的部分,上面是头部.下面是脚部</h1>';
  5. include template('footer');
  6. ?>
复制代码
效果图:




中间可以引用一个模板文件来用用都可以.可以自己定义.只要把名字改成要引用的就好了.
大家都看到效果了吧..
好了这很简单的..大家利用这个可以制作公司简介什么的.也可以利用SS在后台写SQL的方式调用其它产品的MYSQL信息.如discuz uch 点评 dede phpwind什么的SS都可以在后台调用出来的.

有人就说了这是不是多此一举,SS后台不是有创建单独页面的功能吗?
本人是搞SEO出生的.做什么的时候都都喜欢结合SEO去考虑,目录的权重比单页高.而且SS生成的单页还在目录里面.所以我还是喜欢我这里方式..最重要是可以直接用PHP代码.

评分

1

查看全部评分

 楼主| benba 发表于 2009-11-17 08:56:47 | 显示全部楼层

单独PHP文件的登陆技术

在上面我们定义的PHP文件里怎么知道用户有没有登陆?

我只要需要判断一个变量是否存在就好了;
  1. <?php
  2. include_once('../common.php');
  3. include template('header');

  4. $uid = $_SGLOBAL['supe_uid']; //用户登陆后的UID
  5. $username=$_SGLOBAL[supe_username];  //用户登陆后的用户名
  6.         if(!empty($uid)) {
  7.                 echo '<h1 style="font-size:20px;color:red;">'.$_SCONFIG[sitename].'欢迎您:'.$username;
  8.                 echo '<br />哥们儿,你已登陆了,请你看一个大美女先</h1>';
  9.                 echo '<img src="http://bbs.nihaocq.com/attachments/month_0909/0909191356c31835868a32ef67.jpg" />';
  10.         }else{
  11.                 echo '<h1 style="font-size:20px;color:red;">想看美女?哪你先登陆去吧!</h1>';
  12.         }
  13. include template('footer');
  14. ?>
复制代码
效果图:

评分

1

查看全部评分

回复

使用道具 举报

huaxuanso 发表于 2009-11-17 09:30:35 | 显示全部楼层
测试一下。。
回复

使用道具 举报

littlehz 发表于 2009-11-20 12:24:05 | 显示全部楼层
建议:
1、用require_once('./common.php');
require是必须包含,如果不能包含,报严重错误且程序停止。include是非必须包含,如果不能包含,报警告错误。
2、include template('mytemplate');
然后在到mytemplate.html.php的模版文件中写<!--{template header}-->和<!--{template footer}-->,完全分离模版和程序
回复

使用道具 举报

quejuwen 发表于 2009-11-20 12:50:26 | 显示全部楼层
楼主再结合楼上的建议修改一下,就更完善了!感谢分享,善莫大焉!

建议:
1、用require_once('./common.php');
require是必须包含,如果不能包含,报严重错误且程序停止。i ...
littlehz 发表于 2009-11-20 12:24
回复

使用道具 举报

sunj85 发表于 2009-11-20 14:52:36 | 显示全部楼层
本帖最后由 sunj85 于 2009-11-20 14:56 编辑

5# littlehz
  1. 2、include template('mytemplate');
  2. 然后在到mytemplate.html.php的模版文件中写<!--{template header}-->和<!--{template footer}-->,完全分离模版和程序
复制代码
这点稍微有点迷糊,能不能再详细点!

如果我不调用header和footer的话,也就是直接调用部分数据,比如“友情链接”等等,那是不是就不需要这一句了!而是直接写代码调用数据即可?
回复

使用道具 举报

littlehz 发表于 2009-11-20 16:17:05 | 显示全部楼层
7# sunj85


<!--{template header}-->
这个语句是某个模版通过模版语句调用header.html.php的,相当于php语句的include,如果不需要调用header模版,当然可以不写这一句
回复

使用道具 举报

海梦缘 发表于 2009-11-20 17:41:10 | 显示全部楼层
不错啊  呵呵
回复

使用道具 举报

esys 发表于 2009-11-27 08:50:41 | 显示全部楼层
强烈支持,好文,收藏~~~~
回复

使用道具 举报

lidq.jingwu 发表于 2009-11-27 10:21:27 | 显示全部楼层
这个文章对于使用ss进行二次开发的sser来说,是相当有用的,把ss中的三层结构运用的很灵活,而且对原系统没有做大的改动的,就是进行系统升级,这样做出来的二次开发程序也是可以用的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 01:26 , Processed in 0.028097 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表