如何在dedecms的会员发布文章的地方添加地区联动菜单

如何在dedecms的会员发布文章的地方添加地区联动菜单,第1张

DEDE整站生成静态的时候,首页、列表页、文章内容都是生成HTML,当文档页面刷新的时候,点击次数是不变的,需要重新生成页面。经过分析dede内容页的field标签,解决方案如下:

  JS解决办法:({dede:fieldclick/}这个不能实时刷新,要使用JS调用。)

  内容页调用方法:在DEDE里面有一个php文件是专门用来统计点击次数的,这个文件叫countphp,我们只需要给它传递一些参数就可以获得文章的点击次数,调用的方式也是用JS来调用,这段代码大家也不需要去记,只要在用的时候复制进去就可以。

  这是文章页调用文章点击次数,{dede:field name='id'/}是文章ID。

  列表页和首页调用方法:在列表页和首页你可以在循环里面使用[fieldid /]获取,mid是发帖人,一般都是用admin帐号发文章,所以一般都是1。因为在list列表中不能有{},所以你就写实际地址:

  这样,首页和列表页的点击次数也就能够像文章内容页一样实时点击刷新了,尤其适合博客

修改dede/member_mainphp中的分页数,

$dlist->pageSize = 20; //修改此处的pagesize为你需要显示的数量<php

/

  附件管理

 

  @version        $Id: media_mainphp 1 11:17 2010年7月19日Z tianya $

  @package        DedeCMSAdministrator

  @copyright      Copyright (c) 2007 - 2010, DesDev, Inc

  @license        http://helpdedecmscom/usersguide/licensehtml

  @link           http://wwwdedecmscom

 /

require_once(dirname(__FILE__)"/configphp");

require_once(DEDEINC"/datalistcpclassphp");

require_once(DEDEINC"/commonfuncphp");

setcookie("ENV_GOBACK_URL",$dedeNowurl,time()+3600,"/");

if(empty($dopost)) $dopost = '';

//文件式管理器

if($dopost=='filemanager')

{

    if(file_exists('/file_manage_mainphp'))

    {

        header("location:file_manage_mainphpactivepath=$cfg_medias_dir");

    }

    else

    {

        ShowMsg("找不到文件管理器,可能已经卸载!","-1");

    }

    exit();

}

//数据库管理

// ------------------------------------------------------------------------

if(empty($keyword)) $keyword = "";

$addsql = " WHERE (utitle LIKE '%$keyword%' OR uurl LIKE '%$keyword%') ";

if(empty($membertype))

{

    $membertype = 0;

}

if($membertype==1)

{

    $addsql = " AND umid>0 ";

}

else if($membertype==2)

{

    $addsql = " AND umid>0 ";

}

if(empty($mediatype))

{

    $mediatype = 0;

}

if($mediatype>1)

{

    $addsql = " AND umediatype='$membertype' ";

}

$sql = "SELECT uaid,utitle,uurl,umediatype,ufilesize,umid,uuptime

,auserid AS adminname,muserid AS membername

FROM #@__uploads u

LEFT JOIN #@__admin a ON  aid = umid

LEFT JOIN #@__member m ON mmid = umid

$addsql ORDER BY uaid DESC";

$dlist = new DataListCP();

$dlist->pageSize = 20;  //修改此处的pagesize为你需要显示的数量

$dlist->SetParameter("mediatype",$mediatype);

$dlist->SetParameter("keyword",$keyword);

$dlist->SetParameter("membertype",$membertype);

$dlist->SetTemplate(DEDEADMIN"/templets/media_mainhtm");

$dlist->SetSource($sql);

$dlist->Display();

function MediaType($tid,$nurl)

{

    if($tid==1)

    {

        return "<a href=\"javascript:;\" onClick=\"ChangeImage('$nurl');\"><img src='/include/dialog/img/picviewnonegif' name='picview' border='0' alt='预览'></a>";

    }

    else if($tid==2)

    {

        return "FLASH";

    }

    else if($tid==3)

    {

        return "视频/音频";

    }

    else

    {

        return "附件/其它";

    }

}

function GetFileSize($fs)

{

    $fs = $fs/1024;

    return trim(sprintf("%101f",$fs)" K");

}

function UploadAdmin($adminid,$mid)

{

    if($adminid!='') return $adminid;

    else return $mid;

}

1、核心--频道模型--联动类别管理 看下有没有nativeplace这个类别 如果有进行下一步 如果没有新建一个

2、核心--频道模型--内容模型管理--普通文章 点击修改添加自定义字段 字段名称nativeplace

数据类型选择联动类型

这样就可以在发布文章的时候选择地区了

我们可以用传递参数加SQL实现,具体方法如下: 1、在内容页head之间加上JS:

<script src="{dede:globalcfg_cmsurl/}/include/dedeajax2js" type="text/javascript" ></script>

<script language="javascript">

function CheckLogin_c(){

var taget_obj = documentgetElementById('_userlogin_c');

var req = documentgetElementById('hid')value;

myajax = new DedeAjax(taget_obj,false,false,'','','');

myajaxSendGet2("{dede:globalcfg_cmspath/}/member/ajax_loginsta_cphpval="+req);

DedeXHTTP = null;

}

</script> 2、在内容页需要会员限制才能查看的地方添加代码(会员登录前的样子):

<span id="_userlogin_c"><a href="/member/index_dophpfmdo=user&dopost=regnew">请注册后查看!</a></span>

<input type="hidden" value="{dede:fieldaid/}" id="hid" />

<script language="javascript" type="text/javascript">CheckLogin_c();</script>

这里获取文章ID的文本框一定要在js之前 3、在/member文件夹中新建一个文件:ajax_loginsta_cphp,添加如下代码(会员登录后的样子):

<php

require_once(dirname(__FILE__)"/configphp");

AjaxHead();

if($myurl == '')

{

exit('');

}

$uid = $cfg_ml->M_LoginID;!$cfg_ml->fields['face'] && $face = ($cfg_ml->fields['sex'] == '女') 'dfgirl' : 'dfboy';

$facepic = empty($face) $cfg_ml->fields['face'] : $GLOBALS['cfg_memberurl']'/templets/images/'$face'png';>

<php

$row = $dsql->GetOne(" Select From `js_addoninfos` where `aid`=$val ");

>

<php echo $row['tel']; > 经本人测试,没有任何问题!参考网站: http://wwwjisuxcom/science/dedecms/2011/221html

两种可能。

第一种:你以前的栏目内容模型选的是soft或者其他的,然后你发表了一些文章,再之后你将栏目内容模型变更为article或者不同于soft的其他内容模型。那么你会看到栏目中有文档数,但是点进去没有文档。

第二种:曾经通过sql语句直接删除过dede_article或者dede_archives或者dede_arctiny中的记录,这三个表是有关联的,如果要通过sql语句删除内容,一定要同时将这三个表中的同一条关联内容全部删除,否则就会造成这种情况。

两种问题最终都可以通过sql语句解决,这就是原因,当然你通过后台提供的功能解决了是最简单的,恭喜你。

1、PHPCMS程序网站自带会员管理程序;

2、dedecms(只能网站程序),一般自带会员注册功能和管理系统;

3、aspcms网站程序自带网站会员管理系统;

4、web前端开发可以通过数据库搭建,建立专门的网站程序。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在dedecms的会员发布文章的地方添加地区联动菜单

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情