|
|
看到好多站有类似 猜您可能在西安, 点击进入西安站>>
如图:
所有搞了类似一个小功能,希望对需要的哥们AND妹妹有用。

第一步 -> 在 extend.func.php 内加入以下函数
[ol]/** * $all_city = cache_read('allcity.php') 中的allcity.php是我修改后生成缓存城市分站的文件 * 默认程序没有生成这个文件,具体可参照原版城市生成的缓存方法 * 或者操作数据库获取所有分站 * 获取方法参考 http://www.destoon.com/doc/develop/74.html * */function get_ip2city($ip){ global $db; $city = ip2area($ip); if(is_array($all_city = cache_read('allcity.php'))){ foreach($all_city as $k => $v){ $v['name'] = str_replace(array("市","区"," "),array("","",""),$v['name']); if(@strstr($city,$v['name'])){ return $v; } } }}[/ol]复制代码
第二步 -> api\city.php 的 $lists = array(); 上面添加 以下代码
[ol]/** * $xxxx 变量自行取名 我这里就用 xxxx 代替了 * 以下代码没做判断,如果没有所在城市的分站就不会显示 * 你可以自行加入判断 或者在模版里进行判断 */$xxxx = get_ip2city($DT_IP);[/ol]复制代码
以下我临时用的是一下判断仅供参考,谁有好方法可以回复一下。
[ol]/** * $xxxx 变量自行取名 我这里就用 xxxx 代替了 */// $DT_IP = '113.132.197.181'; //本地临时测试的IP,实际使用时删除本行代码。if(get_ip2city($DT_IP)){ $xxxx = get_ip2city($DT_IP);}else{ $xxxx['name'] = $L['allcity']; $xxxx['domain'] = $xxxx['areaid'] = $xxxx['style'] = '';}[/ol]复制代码
第三步 -> 在模版文件 city.htm 文件中 想添加的部分添加模版代码 高手可以无视模版代码
[ol][url=] 点击进入{set_style($xxxx[name], $xxxx[style])}站[/url][/ol]复制代码
或
[ol]{if $xxxx}[url=] 点击进入{set_style($xxxx[name], $xxxx[style])}站[/url]{/if}[/ol]复制代码
最后祝愿 DESTOON 越来越好 @简简单单
好了到这里就完了,样式自己写,这里就不说了,相信已经很清楚了,不会弄的可以內信在下。 |
|