SNS进阶

来源:互联网 发布:2017网络视听大会 编辑:程序博客网 时间:2024/06/05 05:47

主题开发

主题基础介绍

关键词:主题

简介:本文简单介绍了OS的主题机制,通过主题机制,可以让开发者的主题文件更加聚合,而不是散落在各个模块当中

View/Index/edit.html

而不是

View/default/Index/edit.html


二、主题信息的录入

标准的Info.php格式

<?php return array(
    //模版名
    'name' => 'T4',
    //别名
    'title' => '仿TS4.0风格',
    //版本号
    'version' => '1.0.0',
    //是否商业模版,1是,0,否
    'is_com' => 0,
    //模版描述
    'summary' => '简单模仿T4的设计风格。',
    //开发者
    'developer' => '郑恒盛',
    //开发者网站
    'website' => 'http://www.ourstu.com',
);

上述代码中,就是一个标准的Theme的info.php文件,大家可以对应修改。这些信息将会被主题系统所导入。


主题开发步骤

关键词:主题开发 步骤 流程

简介:本小节主要介绍主题开发的基本流程,让开发者知道如何开始进行主题开发,引导开发者步入正确开发轨道。

return array(            
   //主题名
   'name' => 'zzl-specialty',
   //别名
   'title' => '主题开发介绍',
   //版本号
   'version' => '1.0.3',
   //是否商业主题,1是,0,否
   'is_com' => 1,
   //主题描述
   'summary' => '介绍主题开发流程使用的主题。',
   //开发者
   'developer' => '郑钟良',
   //开发者网站
   'website' => 'http://www.ourstu.com',
);

                    blob.png


           3、进入本地主题后台,检查更新主题,刷新出刚创建的主题,至此,主题的初始化已经完成了。如下图:

blob.png


三、编辑主题


        编辑主题根据覆盖范围可以分为三个类型,分别是:1、编辑整站主题;2、编辑某一模块主题;3、编辑某一模板主题

        编辑主题的过程会在接下来的几个章节详细介绍。在这里小编要说的是,这三种类型在开发一个主题的过程中不一定要全部进行,开发者可以根据需要自行选择。


四、打包完成主题开发


        给主题选一个封面图,命名为“preview.jpg”,放在“info.php”文件的同级目录下。

        打包下载主题,如图:

            blob.png


五、上传到官方云市场出售或应用到其他网站


        上传到官方云市场:http://os.opensns.cn/appstore/theme

                    到官方云市场主题中发布主题,填写相关信息。

                    等待官方审核,审核通过后进入主题详情界面上传新版主题,如图。

            blob.png



            应用到其他网站:

                进入网站后台=》点击安装新主题=》上传打包下来的主题安装包=》执行安装使用

                blob.png

引用主题内部文件

OS为了开发者能引用到主题内部的文件(css、js、img等),专门写了一个配置文件“/Theme/config.php”,该文件定义了本主题下“/Public” 、 “/Common/Static” 及主题下当前模块中 “/Static” 、“/Static/css” 、“/Static/js” 、“/Static/images” 、“/View” 、“/View/Public”文件夹的路径。该文件内容如下:

$now_theme = cookie('TO_LOOK_THEME','',array('prefix'=>'OSV2'));
if(!$now_theme){
    $now_theme=modC('NOW_THEME','default','Theme');
}
if($now_theme!='default'){
    return array(
        /* 模板相关配置 */
        'TMPL_PARSE_STRING' => array(
            '__THEME__'=>__ROOT__.'/Theme/'.$now_theme,
            '__THEME_COMMON_STATIC__'=>__ROOT__.'/Theme/'.$now_theme.'/Common/Static',
            '__THEME_STATIC__'=>__ROOT__.'/Theme/'.$now_theme.'/'.MODULE_NAME.'/Static',
            '__THEME_CSS__'=>__ROOT__.'/Theme/'.$now_theme.'/'.MODULE_NAME.'/Static/css',
            '__THEME_JS__'=>__ROOT__.'/Theme/'.$now_theme.'/'.MODULE_NAME.'/Static/js',
            '__THEME_IMG__'=>__ROOT__.'/Theme/'.$now_theme.'/'.MODULE_NAME.'/Static/images',
            '__THEME_VIEW__'=>__ROOT__.'/Theme/'.$now_theme.'/'.MODULE_NAME.'/View',
            '__THEME_VIEW_PUBLIC__'=>__ROOT__.'/Theme/'.$now_theme.'/'.MODULE_NAME.'/View/Public',
            '__THEME_PUBLIC__'=>__ROOT__.'/Theme/'.$now_theme.'/Public',
        ),
    );
}

下图是一个引用主题内部css文件的案例,里面就用到了“/Theme/config.php”文件中定义的“__THEME_PUBLIC__”模板文件常量,如图:

blob.png


小编另外说一下,不只是可以引用css哦,你还可一引用js、img,甚至你还可以引用其他模板。

修改整站主题

修改单个模块或模板主题




主题特有广告位的添加


2.7.1版简易添加广告位教程

新版本支持一句代码增加广告位,调用方式如下

{:W('Common/Adv/render',array(array('name'=>'[参数1 广告位置英文名]','title'=>'[参数2 广告位中文名]','type'=>[参数3 广告类型],'width'=>'[参数4 广告位宽度]','height'=>'[参数5 广告位高度]','theme'=>'[参数6 主题名]','data'=>array(xxx=>xxx))))}

此处请注意,后面是有两个array

参数1必须为英文

参数2必须为中文

参数3必须为数字  1代表单图广告  2代表多图广告 3代表文字广告 4代表代码广告

参数4可以为各种计量单位的数值,如100px  10% 1.2em 等

参数5同参数4

参数6为主题名,可选,只有部分主题中运用的广告位才需要填写此参数,如小清新风格,填Light,参数为主题的英文名,如果运用在全部主题,则写all,默认为all

参数7位额外参数,比如轮播图可填入style,轮播风格,1为slider,2为kinmax风格


'data'=>array('style'=>2)

例:

添加一个运用于Light主题的广告位,此广告位不会在其他主题中出现

{:W('Common/Adv/render',array(array('pos'=>'weibo_filter_right','title'=>'微博过滤右方','type'=>'1','width'=>'200px','height'=>'200px','theme'=>'Light')))}


blob.png

在模板页面添加代码之后,清空缓存,刷新当前页面,系统就会自动添加一个广告位。



0 0
原创粉丝点击