月度归档:2017年07月

dede 判断下级是否存在子栏目,存在显示,不存在隐藏

dede 判断下级是否存在子栏目,存在显示,不存在隐藏

{dede:field name=typeid runphp=”yes”}
global $dsql;
$sql = “SELECT id From `#@__arctype` WHERE reid=’@me’ And ishidden<>1 order by sortrank asc limit 0, 100 “;
$row = $dsql->GetOne($sql);
@me=is_array($row)?’存在显示此内容’:’不存在显示此内容’;
{/dede:field}

dede 判断是否有缩略图

织梦dedecms无缩略图不显示或者显示指定的默认图、这里分别以三种情况来阐述dedecms无缩略图不显示织梦实现方法:

1、织梦无缩略图不显示
{dede:field.litpic runphp="yes"}
@me = (strpos(@me,'defaultpic')? "" : "<img src='".@me."'/>");
{/dede:field.litpic}

2、dedecms列表无缩略图不显示,有缩略图显示 带链接的缩略图
[field:array runphp='yes']
@me=(strpos(@me['litpic'],'defaultpic')?'':"<a href='{@me['arcurl']}' class='ia' title='{@me['seotitle']}'><img src='{@me['litpic']}' alt='{@me['title']}'/></a>");
[/field:array]

3、dede无缩略图显示默认图片
{dede:field.litpic runphp="yes"}if (@me!=''){@me= "<img src='".@me."'/>";}{/dede:field.litpic}

织梦CMS channel判断当前循环的栏目是否最后一个 另类样式CSS

在实际的开发中,使用channel显示顶级栏目的时候可能会遇到这样的情况,第一个栏目和最后一个栏目的样式与中间的栏目的样式不一样,第一个栏目的样式我们可以通过autoindex来设置,而最后一个栏目的样式是不能通过autoindex来设置的,因为我们不知道当前循环的栏目是不是最后一个,这个时候呢,我们就需要去修改织梦的一个文件/include/taglib/channel.lib.PHP,打开这个文件后我们可以再116行看到$GLOBALS[‘autoindex’] = 0;这句话,然后呢,我们可以

1.在这句话后面添加一个标识$GLOBALS[‘iflast’]=0;用$GLOBALS[‘iflast’]来标识当前循环的是不是最后一个,

我们在107行已经获取到了当前循环的总次数$totalRow,

当$GLOBALS[‘autoindex’]的值为$totalRow-1

的时候就说明当前的循环为最后一次循环,然后给$GLOBALS[‘iflast’]赋值为1,

2.在158行$GLOBALS[‘autoindex’] 下面添加if($GLOBALS[‘autoindex’]==($totalRow-1)){$GLOBALS[‘iflast’]=1;},然后我们在模板里面就可以{dede:channel type=”top”}

 


{/dede:channel}

添加当前城市、时间、天气相关信息 iframe+js

获取当前地区天气情况:

<iframe name=”sinaWeatherTool” src=”http://weather.news.sina.com.cn/chajian/iframe/weatherStyle1.html?city=%E4%BD%9B%E5%B1%B1″ width=”150″ height=”20″ marginwidth=”0″ marginheight=”0″ hspace=”0″ vspace=”0″ frameborder=”0″ scrolling=”no”></iframe>

获取当前时间:

<script type=”text/javascript” language=”javascript”>
function show_cur_times(){
//获取当前日期
var date_time = new Date();
//定义星期
var week;
//switch判断
switch (date_time.getDay()){
case 1: week=”星期一”; break;
case 2: week=”星期二”; break;
case 3: week=”星期三”; break;
case 4: week=”星期四”; break;
case 5: week=”星期五”; break;
case 6: week=”星期六”; break;
default:week=”星期天”; break;
}
//年
var year = date_time.getFullYear();
//判断小于10,前面补0
if(year<10){
year=”0″+year;
}

//月
var month = date_time.getMonth()+1;
//判断小于10,前面补0
if(month<10){
month=”0″+month;
}

//日
var day = date_time.getDate();
//判断小于10,前面补0
if(day<10){
day=”0″+day;
}

//时
var hours =date_time.getHours();
//判断小于10,前面补0
if(hours<10){
hours=”0″+hours;
}

//分
var minutes =date_time.getMinutes();
//判断小于10,前面补0
if(minutes<10){
minutes=”0″+minutes;
}

//秒
var seconds=date_time.getSeconds();
//判断小于10,前面补0
if(seconds<10){
seconds=”0″+seconds;
}

//拼接年月日时分秒
var date_str = year+”年”+month+”月”+day+”日 “+hours+”:”+minutes+”:”+seconds+” “+week;

//显示在id为showtimes的容器里
document.getElementById(“showtimes”).innerHTML= date_str;
}

//设置1秒调用一次show_cur_times函数
setInterval(“show_cur_times()”,100);
</script>

设为首页,收藏网站 JS+HTML

JS代码部分

<script type=”text/javascript”>
//设为首页
function SetHome(obj,url){
try{
obj.style.behavior=’url(#default#homepage)’;
obj.setHomePage(url);
}catch(e){
if(window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege(“UniversalXPConnect”);
}catch(e){
alert(“抱歉,此操作被浏览器拒绝!\n\n请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为’true'”);
}
}else{
alert(“抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【”+url+”】设置为首页。”);
}
}
}
//收藏本站
function AddFavorite(title, url) {
try {
window.external.addFavorite(url, title);
}
catch (e) {
try {
window.sidebar.addPanel(title, url, “”);
}
catch (e) {
alert(“抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请使用Ctrl+D进行添加”);
}
}
}
//保存到桌面
function toDesktop(sUrl,sName){
try {
var WshShell = new ActiveXObject(“WScript.Shell”);
var oUrlLink = WshShell.CreateShortcut(WshShell.SpecialFolders(“Desktop”) + “\\” + sName + “.url”);
oUrlLink.TargetPath = sUrl;
oUrlLink.Save();
}
catch(e) {
alert(“当前IE安全级别不允许操作!”);
}
}
</script>

应用:

<a href=”javascript:void(0);” onclick=”SetHome(this,'{dede:global.cfg_basehost/}’);”>设为首页</a>

<a href=”javascript:void(0);” onclick=”AddFavorite(‘{dede:global.cfg_webname/}’,location.href)”>收藏本站</a>

 

自定义表单-提交内容 (必填)

方法一:通过修改程序源文件实现
 
1、在plus文件夹下找到diy.php文件,对其进行编辑,在第40行左右找到代码:
 
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
 
2、在这行代码下面,添加以下代码后保存文件:
 
//增加必填字段判断
if($required!='')
        {
            if(preg_match('/,/', $required))
            {
                $requireds = explode(',',$required);
                foreach($requireds as $field)
                {
                    if($$field=='')
                    {
                        showMsg('姓名或手机号为必填内容,请正确填写', '-1');
                        exit();
                    }
                    else
                    {
                        $field = 'mobile';
                        if(!is_int($$field))
                        {
                            showMsg('联系电话必须为数字','-1');
                            exit();
                        }    
                    }
                }
            }
        }
//end
 
3、在创建的自定义表单中找到代码:
 
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
 
4、在这行代码下面,添加代码:
 
<input type="hidden" name="required" value="数据字段名,数据字段名" />
 
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项。
 
添加新字段–“表单提示文字”:姓名–“字段名称”:name
添加新字段–“表单提示文字”:邮箱–“字段名称”:email
 
如:<input type="hidden" name="required" value="name,email" />
 
5、保存后,必填项设置完成,当用户提交表单时间,系统检查到必填项没有输入内容,就会提示“带*号的为必填内容,请正确填写”。
 
方法二:通过javascript脚本代码实现检测
 
1、把以下代码保存为bitian.js文件:
 
$(document).ready(function() {
//验证
$('#complain').submit(function () {
if($('#name').val()==""){
$('#name').focus();
alert("用户名不能为空!");
return false;
}
if($('#tel').val()=="") {
$('#tel').focus();
alert("联系电话不能为空!");
return false;
}
if($('#title').val()=="") {
$('#title').focus();
alert("标题不能为空!");
return false;
}
if($('#text').val()=="") {
$('#text').focus();
alert("具体内容不能为空!");
return false;
}
})
});
 
提醒:
 
$('#complain').submit(function ()  //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"
if($('#name').val()==""){$('#name').focus();        //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
 
2、在表单模板文件中添加调用代码:
 
<script src='文件路径/js.js' type="text/javascript"></script>
 
3、保存后,重新生成网页!