1. 数据库执行以下sql语句,以记录需要的字段值;
ALTER TABLE `phpcms_ads` ADD `areaid` SMALLINT( 5 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT '广告所属地区id',
ADD `ischild` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否显示到下级子地区';
ALTER TABLE `phpcms_ads` ADD INDEX ( `areaid` ) ;
2. 找到 ,在合适的位置增加如下代码:
<tr>
<th><strong>显示地区</strong></th>
<td><input type="hidden" name="ads[areaid]" id="areaid" value="">
<span id="load_areaid"></span>
<a href="javascript:areaid_reload();"> 重选</a>
<script type="text/javascript">
function areaid_load(id)
{
$.get("load.php?"+Math.floor(Math.random()*1000), { field: 'areaid', id: id },
function(data){
$('#load_areaid').append(data);
});
}
function areaid_reload()
{
$('#load_areaid').html('');
areaid_load(0);
document.getElementById('areaid').value = '';
}
areaid_reload();
</script> </td>
</tr>
<tr>
<th><strong>是否下级显示</strong></th>
<td><input type='radio' name='ads[ischild]' value='1' checked> 是 <input type='radio' name='ads[ischild]' value='0'> 否 注意:选择是将在下级地区显示;选择否则仅仅显示在选中地区</td>
</tr>
3. 找到 ,在适当的位置增加以下代码:
<tr>
<th><strong>显示地区</strong></th>
<td><input type="hidden" name="ads[areaid]" id="areaid" value="<?php echo $_ads['areaid'];?>">
<span id="load_areaid"><?php echo $_ads['areaid'] ? areaname($_ads['areaid']) : '';?></span>
<a href="javascript:areaid_reload();"> 重选</a>
<script type="text/javascript">
function areaid_load(id)
{
$.get("load.php?"+Math.floor(Math.random()*1000), { field: 'areaid', id: id },
function(data){
$('#load_areaid').append(data);
});
}
function areaid_reload()
{
$('#load_areaid').html('');
areaid_load(0);
document.getElementById('areaid').value = '';
}
</script> </td>
</tr>
<tr>
<th><strong>是否下级显示</strong></th>
<td><input type='radio' name='ads[ischild]' value='1' <?php echo $_ads['ischild']?'checked':'';?>> 是 <input type='radio' name='ads[ischild]' value='0' <?php echo !$_ads['ischild']?'checked':'';?>> 否 注意:选择是将在下级地区显示;选择否则仅仅显示在选中地区;如果想显示到湖北省以下全部地区,请直接选择湖北即可!</td>
</tr>
4. 找到 ,删除函数 show(),改写成:
function show($placeid,$areaid)
{
global $_username;
$placeid = intval($placeid);
if(!$placeid) return FALSE;
$ip = IP;
$time = time();
$areaid = intval($areaid);
$AREA = cache_read('area_'.$areaid.'.php');
$areastr = $areaid?" AND a.areaid IN( ".$AREA['arrparentid'].",$areaid )":'';//地区为0,全国性广告,可随意显示;
$adses = $this->db->select("SELECT * FROM ".DB_PRE."ads a, $this->table p WHERE a.placeid=p.placeid AND p.placeid=$placeid $areastr AND a.fromdate<=UNIX_TIMESTAMP() AND a.todate>=UNIX_TIMESTAMP() AND a.passed=1 AND a.status=1 AND p.passed=1");
if($adses[0]['option'])
{
foreach($adses as $ads)
{
$contents[] = ads_content($ads, 1);
$this->db->query("INSERT INTO $this->stat_table (`adsid`, `username`, `ip`, `referer`, `clicktime`, `type`) VALUES ('$ads[adsid]', '$_username', '$ip', '$this->referer', '$time', '0')");
$template = $ads['template'] ? $ads['template'] : 'ads';
}
}
else
{
do{
$ads = $this->db->get_one("SELECT * FROM ".DB_PRE."ads a, $this->table p WHERE a.placeid=p.placeid AND p.placeid=$placeid $areastr AND a.fromdate<=UNIX_TIMESTAMP() AND a.todate>=UNIX_TIMESTAMP() AND a.passed=1 AND a.status=1 ORDER BY rand() LIMIT 1");
//防止空白产生,如A广告仅允许显示在湖北,则访问武汉的时候,会读出来,要排除掉http://www.k686.com
if($ads['ischild'] || $ads['areaid']==$areaid || !$ads['areaid']) break;
}
while(true);
$contents[] = ads_content($ads, 1);
$this->db->query("INSERT INTO $this->stat_table (`adsid`, `username`, `ip`, `referer`, `clicktime`, `type`) VALUES ('$ads[adsid]', '$_username', '$ip', '$this->referer', '$time', '0')");
$template = $ads['template'] ? $ads['template'] : 'ads';
}
include template('ads', $template);
}
5. 找到 ,将 $place->show($id); 改成 $place->show($id,$areaid);
6. 注意外部调用的时候,带上areaid参数,比如:
<script language="javascript" src="http://www.k686.com/data/js.php?id=1&areaid={$areaid}"></script>
分享到:
相关推荐
在默认情况下,phpcms的地区表可能并不包含所有级别的行政区域数据,因此需要进行扩展或定制以满足不同用户的地域信息需求。下面将详细阐述phpcms地区数据库表的相关知识点。 1. **phpcms系统介绍** phpcms是一款...
phpcms广告数据调用标签类
在实现phpcms导航栏滑动门的最佳效果时,我们需要关注以下几个关键点: 1. **HTML 结构**:首先,我们需要创建一个适合滑动门效果的HTML结构。通常,每个导航项会包含一个父元素(如`<li>`),以及一个子元素(如`...
确保功能正常,包括文件选择、预览、上传进度显示和成功上传后的反馈。 7. **优化和调整**:根据实际使用情况,可能需要进一步优化上传性能,比如通过分片上传大文件,或者添加断点续传功能。 8. **更新文档**:...
而"PHPCMS后台模板 美化PHPCMS后台"是针对该系统进行的界面美化工作,主要目标是提升管理员在后台操作时的视觉体验和交互效果。 首先,我们来看"PHPCMS后台模板"这个概念。PHPCMS的后台模板主要包含HTML、CSS、...
- **管理广告** - 提供广告的统计、暂停、发布、修改、搜索和监控功能,确保广告按预期运行。 - **广告监控** - 可以监控广告的有效期,防止过期广告继续展示。 在设置广告模块时,务必考虑到广告的可见性、用户...
6. **移动适配**:随着移动互联网的发展,PHPCMS V10 支持响应式布局,确保网站在不同设备上都能良好显示,提供一致的用户体验。 7. **广告管理**:内置广告管理模块,可以方便地添加、管理和投放广告,有助于网站...
总的来说,phpcms作为一款成熟的CMS系统,能够帮助企业或个人快速构建和管理网站,实现内容的高效发布和管理。其丰富的功能和强大的扩展性,使其在众多内容管理系统中脱颖而出。然而,使用过程中也需注意安全防护,...
【标题】"后台文章批量添加至地区插件 for Phpcms 2008.rar" 是一个专为Phpcms 2008内容管理系统设计的程序插件,旨在提高网站管理者的效率,通过批量操作将文章分配到不同的地区分类。这个插件允许用户在后台一次性...
PHPCMS_V9是一款流行的开源内容管理系统,专为网站建设和管理设计。此“PHPCMS_V9百度推送插件444.zip”压缩包提供了一个功能,即在发布新的文章内容时,能够自动将更新推送给百度站长平台。这一功能对于优化网站的...
PHPCMS提供了丰富的模板系统,允许用户根据自己的需求定制首页布局,包括设置头部、主体和底部等区域,同时支持自定义CSS样式,以实现独特的视觉效果。 在PHPCMS中,首页的构建通常涉及到以下几个方面: 1. **内容...
3. **响应式设计**:为了适应不同设备的浏览需求,美化版可能引入了响应式设计,确保在手机、平板电脑和桌面电脑上都能有良好的显示效果。 4. **交互优化**:可能会改进部分功能的交互流程,例如增加拖放上传、...
PHPCMS允许你创建不同的广告位,可以是图片、文字或代码形式,然后在网站的指定位置显示。后台的广告管理模块可以追踪广告的点击量和效果,便于优化投放策略。 **站点管理**则涉及到多站点配置。如果你运营多个网站...
9. **广告管理**:内置广告管理系统,支持多种广告位设置,便于网站运营者进行广告投放和效果追踪。 10. **会员系统**:提供会员注册、登录、积分、等级等功能,支持社区互动,增强用户粘性。 11. **多语言支持**...
PHPCMS美化后台样式,方便操作,下载文件直接覆盖根目录即可。 后台模板蒙奇时光,亲试了下能用,很好。 就下我就对了,我浪费了50积分下载“phpcmsV9后台模板”,都是我这样的。 说的不清楚的不要下,要积分高的...
【phpcms时间轴无需修改模块】是一个专门为phpcms内容管理系统设计的功能组件,旨在提供一个无需对原有系统模块进行任何修改就能实现的时间线展示功能。这个功能对于那些希望在网站上展示动态更新、历史事件或者新闻...
7. **响应式设计**:现代网站需要适应不同设备的屏幕尺寸,phpcms的幻灯片模块应具备响应式设计,使得在手机、平板电脑和桌面电脑上都能良好显示。 8. **权限管理**:管理员可以设置不同级别的权限,决定哪些用户或...
- **MVC模式**:phpcms采用Model-View-Controller(模型-视图-控制器)设计模式,将业务逻辑、数据处理和界面显示分离,提高了代码的可维护性和可扩展性。 - **模块化设计**:系统内部结构模块化,如新闻、下载、...