完美解决PHPCMS V9与DISCUZ同步激活
在一个项目中,需要整合PHPCMSV9与Discuz,遇到新注册用户同步同步问题。因为UCENTER的机制是在其中一个应用中注册后,必须在其他应用中有一个“激活”的流程。
在对比几种方案后,最终选取了一个相对完美的方案。将Discuz再作为PHPSSO的一个应用,只对注册进行同步,然后使用PHPCMSV9作为唯一的登录、注册入口。
拿福能和千人挑战活动
拿福能是什么?
拿福能是一个网站营销工具, 也就是为广告商寻找合适的站点作为容器, 为站点寻找商机和网赚机会, 包括 CPM, CPC, 软文等广告形式. 在国内, 比较相似的有 FeedSky, Alimama 这些广告合作商.
如果作为一个广告平台存在的话, 其实 Feedsky 这类其实并不成功, 那拿福能有什么不一样的吗? 凭什么我们要挂它的广告? 本来我也疑惑丛丛, 甚至觉得不可能搞得起来. 听他们介绍完 Case 之后, 我觉得玩起来. 这里我转述两个案例.
第一个是关于一款 LG 手机的征文活动, 该款手机的特点是 "长", 所以征文的题目是 《Why I Like It Longer》. 你可以写任何与该题目相关的内容, 在文章最后放上一个产品相关的图片. 我找了一篇范文, 可点击下方链接查看.
拿福能征文活动例子 - Why I Like It Longer
第二个更有意思, 也是我满心期待想参与的. 拿福能会线下组织一些博客主一起去看电影院电影, 在电影上映前去看. 看完回来写影评或者传说中的剧透.
拿福能跟之前一些广告合作商不一样的是它在博客主之间形成一个群体, 除了写写文章, 还有更多交流. 无论你写技术教程, 导购文章, 商业评论, 电影评论, 烹饪心得, ... 总能找到跟自己志同道合的一群.
千人挑战活动
拿福能在国外已经有过一些成功案例, 此次进入中国也希望有所作为, 所以搞这么一个活动, 招募 1,000 名博主加盟. 参加活动的博主注册拿福能帐号, 放上广告代码, 并写一篇拿福能相关的介绍, 附上页面链接. 直到参加博主数量到达 1,000, 所有参加活动的博主将平分 50,000 元, 也就是每人 50 元.
有兴趣参加 "千人挑战活动" 的朋友可以查看以下活动页面.
http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000/
完美解决Ecshop与Jquery冲突的办法
在Ecshop二次开发过程中,遇到与Jquery冲突,网上寻得一文,解决之,来源:http://www.jwzzsw.com/?p=828
ecshop 居然与 jquery冲突,实在杯具。
网上一搜大多说是 transport.js 的Object.prototype.toJSONString 方法导致的。
ECShop把AJAX事件和JSON解析的模块放在common/transport.js之中,可以说它也有自己封装的一套工具,这其实是很正常的。
但恰恰的,在封装JSON各种方法的同时对object的模型进行了重写,这个就跟jQuery冲突了。因为众所周知的,jQuery对各种JavaScript对象进行了扩展。
这一切其实都很容易理解,各有各的理由十分自然,但头痛和无奈的就变得在我们这些使用者身上了。在ECShop论坛上原来也有很多朋友提出了这个问题,也提出了各种各样的方法,我尝试了一些,不好或者甚至无用,所以只好自己动手了。
解决思路大概就是屏蔽ECshop扩展的toJSONString方法,用别的函数代替。
为了照顾下小菜们,就写详细点吧。
1、首先复制一份 transport.js 改名为 transport.org.js 提供给后台使用
2、屏蔽掉transport.js里的toJSON功能 行数大概有497-737行之间
修改352行为:
legalParams = "JSON=" + $.toJSON(params);
修改408行为:
result = $.evalJSON(result);
3、修改index.js文件44行改为:
var res = $.evalJSON(result);
4、修改common.js文件
第34行改为:
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
第850行改为:
Ajax.call('flow.php?step=add_package_to_cart', 'package_info=' + $.toJSON(package_info), addPackageToCartResponse, 'POST', 'JSON');
第1056行改为:
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
5、修改compare.js文件
第49行改为:
this.data = $.evalJSON(cookieValue);
第67行改为:
var obj = $.evalJSON(cookieValue);
第133行改为:
document.setCookie("compareItems", $.toJSON(this.data));
6、修改global.js文件
第16行改函数名 :function $e()
第114和126行都改为:
var element = $e(element);
7、<!———–路径修改———–>
修改后台头部引入transport.js路径 admin/templates/pageheader.htm 第9行改为:
{insert_scripts files="../js/transport.org.js,common.js"}
8、修改themes/default/library/page_header.lbi文件在{insert_scripts files=’transport.js,utils.js’}上面加上如下代码
{insert_scripts files='jquery.js,jquery.json.js'}9、<!—–修改文件—–>
library/comment_list.lbi
第188行 :
Ajax.call('comment.php', 'cmt=' + $.toJSON(cmt), commentResponse, 'POST', 'JSON');
10、compare.dwt
第20行 :
var obj = $.evalJSON(document.getCookie("compareItems"));第24行 :
document.setCookie("compareItems", $.toJSON(obj));
11、flow.dwt
第138行 :
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), collect_to_flow_response, 'POST', 'JSON');
第199行 :
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), fittings_to_flow_response, 'POST', 'JSON');
12、<!—–jquery文件需置顶的dwt文件—-jquery.js文件需要在compare.js文件加载前加载,否则会报错—–>
brand.dwt
brand_list.dwt
category.dwt
exchange_list.dwt
search.dwt
如:
{* 包含脚本文件 *}
{insert_scripts files='jquery.js,jquery.json.js'}
{insert_scripts files='common.js,global.js,compare.js'}修改DedeCms文章标题长度限制
DedeCms文章标题默认限制在60个字以内,如需超出此限制,需要修改数据库和后台配置。 dede_archives的title字段类型是char(60),根据实际情况修改即可,例如需要增加到500,到后台SQL命令行工具(系统设置->SQL命令行工具)执行以下语句。
ALTER TABLE `#@__archives` CHANGE `title` `title` VARCHAR(500) NOT NULL DEFAULT ''
然后到 系统基本参数->其它选项 中设置"文档标题最大长度"。 注意:VARCHAR类型从MYSQL5开始才支持最大长度65535,这个版本以前的只支持255,可用TEXT代替。
解决在ubuntu中netbeans中文字体美观问题
安装netbeans后,中文字体非常丑陋,从网站寻得简单解决方法。
来源:http://www.linuxidc.com/Linux/2009-11/22665.htm
终端输入下列命令:
sudo gedit ~/.profile
在打开的编辑器末尾加上
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
保存后重启即可。
解决DedeCMS的mytag标签不对应栏目问题
之前好几次用dedecms做站的时候,需要在不同栏目的同一个地方显示不同内容,直接使用mytag标签来做了,但是在生成的时候经常发生灵异时间,栏目不对应。
今天重遇问题,经过一番检查后发现是获取上级ID的函数哪里出了问题。
在 /include/channelunit.func.php 中
//获取某个类目的所有上级栏目id function GetTopids($tid) { $arr = GetParentIds($tid); return join(',', $arr); } //获取上级ID列表 function GetParentIds($tid) { global $cfg_Cs; $GLOBALS['pTypeArrays'][] = $tid; if (!is_array($cfg_Cs)) { require_once(DEDEROOT . "/data/cache/inc_catalog_base.inc"); } if (!isset($cfg_Cs[$tid]) || $cfg_Cs[$tid][0] == 0) { return $GLOBALS['pTypeArrays']; } else { return GetParentIds($cfg_Cs[$tid][0]); } }
把
function GetTopids($tid) { $arr = GetParentIds($tid); return join(',',$arr); }
改为
function GetTopids($tid) { $arr = GetParentIds($tid); unset($GLOBALS['pTypeArrays']); return join(',',$arr); }
即可。


