昨天给DoraCMS添加了友情链接模块,突然发现,把各个模块分开后,添加模块带来很大便利,由于广告模块的功能已经存在,在上面加以改造,就实现了友情链接的功能,下面简单介绍下实现:


1、查看广告模块的 model (Ads.js)

var ads = new Schema({
    _id: {
        type: String,
        unique: true,
        'default': shortid.generate
    },
    mkey : String, //广告位标识
    title:  String,
    category:  String, // friendlink表示友情链接,默认default为广告
    state : {type : Boolean , default :true},
    type: { type: String, default: "0" }, // 展示形式 0文字 1图片
    date: { type: Date, default: Date.now },
    content: String // 内容
});


category 属性可以作为友情链接和广告的区分。


2、查看广告模块新增界面:


DoraCMS友情链接.jpg


3、我们在广告类别下添加一个友情链接的选项,设置value为friendLink,涉及到文件(addAds.ejs):

<div class="form-group">
    <label class="control-label col-sm-3">广告类别</label>
    <div class="col-sm-2">
        <select name="" id="" class="form-control" ng-model="formData.category" required>
            <option value="default" selected>默认分类</option>
            <option value="friendlink">友情链接</option>
        </select>
    </div>
</div>


4、后台添加友情链接:


DoraCMS友情链接1.jpg


5、接口获取友情链接数据:

getFriendLink : function(){
       return Ads.find({'category' : 'friendlink'});
    }


6、在 /views/web/public 中新增 friendLink.ejs :

<!--友情链接模块-->
<div class="friendLink">
    <h3>友情链接</h3>
    <ul>
        <%for(var i=0;i<friendLinkData.length;i++){var linkObj = friendLinkData[i].content;var link = eval("(" + linkObj + ")");%>
            <li><a href="<%=link.link%>" target="_blank"><%=link.title%></a></li>
        <%}%>
    </ul>
</div>



7、打开首页模板,加入友情链接模块:

<% include public/friendLink %>

加到你需要的位置,注意路径。


8、重启node服务,查看效果:


DoraCMS友情链接2.jpg