手机端一直有个问题,今天领导反复给我说ectouch无法qq登录了,跑回来一看,网站pc端用qq登录端是没问题的,但是mobile端就不行。
通过仔细研究,原来是qq互联对这个回调地址政策进行了调整,两个地方使用就必须要有两个回调地址!原来pc端那个回调地址为http://www.maiseed.com/user.php
后面加上ectouch的回调地址http://www.maiseed.com/mobile/index.php,这样就两个地方都可以用了。
后来测试登录后发现,有错误提示,比如
Warning: Illegal string offset ‘page_number’ mobile/include/library/EcsTemplate.class.php(1009) : code on line 3
,
Warning: Illegal string offset ‘page_number’ mobile/data/cache/compiled/page.lbi : code on line 3
等错误提示。
研究了一下,当有订单的时候并不会出现这个提示,第一个感觉就是page_number为空了,而程序没有处理。
后来找到了对应位置,/mobile/themes/default/library/page.lbi,加一个判断,当$pager为true的时候再列出内容。
<ul class="pager ect-margin-lr ect-page">
<!-- {if $pager} -->
<li class="pull-left"><a href="{$pager.page_prev|default:#}">上一页</a></li>
<!-- {if $pager.page_number} -->
<li class="form-select">
<i class="fa fa-sort-desc"></i>
<select name="sel_question" onChange="window.location.href=this.value;">
<!-- {foreach from=$pager.page_number key=key item=num} -->
<option value="{$num}" {if $pager.page == $key}selected{/if} >{$key}/{$pager.page_count}</option>
<!-- {/foreach} -->
</select>
</li>
<!-- {/if} -->
<li class="pull-right"><a href="{$pager.page_next|default:#}">下一页</a></li>
<!-- {/if} -->
</ul>
这样就解决问题了。
转载请注明:百蔬君 » 【原创文章】修正ECTOUCH无法QQ登录及出现“Warning: Illegal string offset ‘page_number’ ”错误的解决方案
