The requested URL xxx was not found on this server
ecshop不能注册,用户名、邮箱已存在的解决办法
一般是整合了UC会出现这个问题,我也是整合UC后出现的,但我不知道到底是因为这个还是自己修改user.php过多造成。
官方也有一些狗屁说法,什么UC通信正常不代表整合正常,整合不正常就会出现这种问题,出现这种问题请重新整合一下UC,统统都是屁,当初搜着的时候我还如获至宝,现在想来就是浪费我时间。丫根本就没说怎么样就算整合正常了,整合正常又不代表能正常注册,这不涮人玩么。
实际上是需要修改JS文件夹下的user.js,在function registed_callback(result)和function check_email_callback(result)里分别加上
result = result.replace(/\n|\r/g, '');
这一句就好了。
原因就是,result是user.php传回来的,但不知道为什么用echo传回来的ok和true里面都带着\n\r,去掉就可以了。
每次找到bug都会感叹时间宝贵生命易逝啊!以后一定要多多使用firebug啊!
ecshop根据关键字(标签)调用商品
其实shopex本身就有这个功能,但是ecshop居然没有,在首页调用商品只能通过新品、精品、热卖、促销这四种方式,如果你想搞一个5排以上的首页出来那基本没戏,更不用说像我目前面临的双首页(网站首页和商城首页),根本不够用。ecshop千差万差好在有一点——能改,所以我很少骂它,不爽的时候会归结于自己无能。言归正传,直接写方法:
1. 在/includes/lib_goods.php里加上这段:
/**
* 根据商品关键字调用商品
*
* @access public
* @return array
*/
function get_keyword_goods($keyword = '')
{
$time = gmtime();
$order_type = $GLOBALS['_CFG']['recommend_order'];
$sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, ' .
"IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, ".
"promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, goods_img, b.brand_name, " .
"g.is_best, g.is_new, g.is_hot, g.is_promote, RAND() AS rnd " .
'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' .
'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
"LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
'WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ' .
" AND g.keywords LIKE '%$keyword%' " ;
$sql .= $order_type == 0 ? ' ORDER BY g.sort_order, g.last_update DESC' : ' ORDER BY rnd';
$result = $GLOBALS['db']->getAll($sql);
$goods = array();
foreach ($result AS $idx => $row)
{
if ($row['promote_price'] > 0)
{
$promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']);
$goods[$idx]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : '';
}
else
{
$goods[$idx]['promote_price'] = '';
}
$goods[$idx]['id'] = $row['goods_id'];
$goods[$idx]['name'] = $row['goods_name'];
$goods[$idx]['brief'] = $row['goods_brief'];
$goods[$idx]['brand_name'] = $row['brand_name'];
$goods[$idx]['goods_style_name'] = add_style($row['goods_name'],$row['goods_name_style']);
$goods[$idx]['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ? sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];
$goods[$idx]['short_style_name'] = add_style($goods[$idx]['short_name'],$row['goods_name_style']);
$goods[$idx]['market_price'] = price_format($row['market_price']);
$goods[$idx]['shop_price'] = price_format($row['shop_price']);
$goods[$idx]['thumb'] = get_image_path($row['goods_id'], $row['goods_thumb'], true);
$goods[$idx]['goods_img'] = get_image_path($row['goods_id'], $row['goods_img']);
$goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);
}
return $goods;
2. 在需要调用商品的页面php文件(一般是index.php)里在 assign_dynamic('index'); 之前写上这段
/*指定关键字的商品*/
$smarty->assign( 'keyword_1', get_keyword_goods('商城首页'));
其中,商城首页是我在商品的“其他信息”-“商品关键词”一栏中填写的用于调用的关键词
3. 在需要调用商品的dwt或lbi中用foreach就可以调啦
<!--{foreach from=$keyword_1 item=goods}-->
<!--{/foreach}-->
把Discuz论坛全局显示的用户名用昵称代替(如果有)zz
有用户提出此需求,其实很久很久之前我自己也有,只是后来用惯了忘了...
还没试验,留作备份,有空就改
打开include/common.inc.php
找到:
$membertablefields = 'm.uid
在上面加:
$otherfields = ',mf.nickname';
找到:
s.seccode, $membertablefields
在后面加:(前面有空格)
$otherfields
找到:
{$tablepre}sessions s, {$tablepre}members m
在后面加:(前面有一逗号)
,{$tablepre}memberfields mf
找到:
- $discuz_userss = $discuz_user;
- $discuz_user = addslashes($discuz_user);
替换成:(危险修改,非专业需要请不要改)
- if(!empty($nickname)){
- $discuz_userss = $nickname;
- $discuz_user = addslashes($nickname);
- }else{
- $discuz_userss = $discuz_user;
- $discuz_user = addslashes($discuz_user);
- }
打开header.htm
找到:
- $discuz_userss
替换成:
- <!--{if empty($nickname)}-->$discuz_userss<!--{else}-->$nickname<!--{/if}-->
ecshop在模板里调用广告位的代码
ECShop模板里判断是否登录以及会员等级的语句
shopex搬家(迁移)会员无法登录,数据库设置哪里改
关于搬家的具体步骤就不写了,有人都写过了,说说可能碰到的一个问题,就是搬完之后后台管理员能登录但会员无法登录。
出错信息如下:
Can not connect to MySQL server
Access denied for user 'xxxx'@'localhost' (using password: YES)
- shopcore::shutdown()
从出错信息里能看出来是旧的数据库名和密码还在,设置没改过来,无法跟Ucenter通讯,但是/config/config.php里已经都改好了,那这个旧的设置藏在哪里呢?
翻了一大圈,最后发现是在“商店配置-第三方整合-Ucenter1.0/1.5”里,这里改过来就能正常用了。
Discuz首页调用缩略图的方法以及开启缩略图后帖子中不显示缩略图显示大图的方法...
(为了让想搜的人能搜到,标题往往是万恶的长啊...)
自从Google网页管理员出了测网页速度的新工具,鄙人就陷入了郁闷之中,鄙人的狗屎装修论坛首页13M大,载入速度低于96%的网站,杯具,彻头彻尾的杯具啊。。。究其根源就在于从Discuz朴素的首页换到了拟门户首页之后,置入的图片太大没有生成缩略图的缘故。
痛定思痛,想手工压缩缩略图不太现实,一搜确实有一大票“列表页生成缩略图”的插件,但都不是首页,而且实现方法相当复杂。Discuz有自带生成缩略图的功能,那既然生成了总不能不让调用吧,又搜了一圈发现都相当含糊其辞。省去钻研过程若干字,直接上结论那就是:Discuz首页想要调用缩略图,开启缩略图功能即可!
也就是说只要后台开启缩略图,那Discuz数据调用里的图片就自动是缩略图了,是不是很简单呢....-.-不是我故弄玄虚,谁让Disucz如此低调,没在这方面出个说明文件,害得我一通好找...
但是!鄙人也不是一点儿贡献也无的,鄙人重要的脑力劳动成果其实是以下的内容:
虽然Discuz在调用缩略图上给了我一个惊喜,但是仍然没有改变它经常会是一个操蛋的CMS的事实,那就是开启缩略图后,帖子里就显示缩略图不显示原来的大图了!而且,没地儿设置显示大图!!去官方论坛里一查,官方人员也说无法改,有个把草民说能改的,但我用了无效。再省去钻研过程若干字,那么到底如何开启缩略图功能还能让帖子里显示原图不显示缩略图呢?
有两种情况:
1. 如果没有开启防盗链设置中的下载来路检查的,那就直接在discuz\templates\default\discuzcode.htm这个文件里查找“ .thumb.jpg ” , 一共能找到2个,把“.thumb.jpg”删了就行。(这就是那个我用了无效的方法)
2. 如果开启了,那在找到thumb.jpg的那两个个地方,把代码 src="{if $attach[refcheck]}attachment.php?aid=$aidencode{else}$attach[url]/$attach[attachment].thumb.jpg{/if}换成src="{if $attach[refcheck]}attachment.php?aid=$aidencode&nothumb=yes{else}$attach[url]/$attach[attachment]{/if}" 即可。
[refcheck]应该就是检查是否开启了防盗链,而nothumb=yes就是那个不显示缩略图的关键了。
这个方法美中不足的就是点击图片后会有浮动窗口显示原图,不像没开启缩略图时那么清爽,不过无伤大雅,鉴于我也不是什么高手,怕越改越错,就不乱改了
您还没有登录,请登录后继续操作。