网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body.scrollHeight 网页被卷去的高: document.body.scrollTop 网页被卷去的左: document.body.scrollLeft 网页正文部分上: window.screenTop 网页正文部分左: window.screenLeft 屏幕分辨率的高: window.screen.height 屏幕分辨率的宽: window.screen.width 屏幕可用工作区高度: window.screen.availHeight 屏幕可用工作区宽度: window.screen.availWidth
下载:http://sourceforge.net/projects/snoopy/ 今天才发现这个好东西,赶紧去下载了来看看,是用的parse_url 还是比较习惯curl snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。 下面是它的一些特征: 1、方便抓取网页的内容 2、方便抓取网页的文字(去掉HTML代码) 3、方便抓取网页的链接 4、支持代理主机 5、支持基本的用户/密码认证模式 6、支持自定义用户agent,referer,cookies和header内容 7、支持浏览器转向,并能控制转向深度 8、能把网页中的链接扩展成高质量的url(默认) 9、方便提交数据并且获取返回值 10、支持跟踪HTML框架(v0.92增加) 11、支持再转向的时候传递cookies 具体使用请看下载文件中的说明。 <?php include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->fetchform("http://www.phpx.com/happy/logging.php?action=login"); print $snoopy->results; ?> <?php include "Snoopy.class.php"; $snoopy = new Snoopy; $submit_url = "http://www.phpx.com/happy/logging.php?action=login"; $submit_vars["loginmode"] = "normal"; $submit_vars["styleid"] = "1"; $submit_vars["cookietime"] = "315360000"; $submit_vars["loginfield"] = "username"; $submit_vars["username"] = "********"; //你的用户名 $submit_vars["password"] = "*******"; //你的密码 $submit_vars["questionid"] = "0"; $submit_vars["answer"] = ""; $submit_vars["loginsubmit"] = "提 交"; [...]
/*————————————————————————-*/ ecm_store 店铺 Store_id ID Store_name 名称 Owner_name 店主名 Owner_card 信用卡号 Region_id 地区ID Region_name 地区名 Address 地址 Zipcode 邮编 Tel 电话 Sgrade 级别 Apply_remark Credit_value 信用值 Praise_rate 好评率 Domain 域名 State 状态 Close_reason 关闭原因 Add_time 添加时间 End_time 接受时间 Certification 认证 Sort_order 排序 Recommended 推荐 Theme 皮肤 Store_banner 广告 Store_logo LOGO Description 描述 Image_1 图片1 [...]
WordPress一共有以下11个表。这里加上了默认的表前缀 wp_ wp_commentmeta:存储评论的元数据 wp_comments:存储评论 wp_links:存储友情链接(Blogroll) wp_options:存储WordPress系统选项和插件、主题配置 wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据 wp_posts:存储文章(包括页面、上传文件、修订) wp_terms:存储每个目录、标签 wp_term_relationships:存储每个文章、链接和对应分类的关系 wp_term_taxonomy:存储每个目录、标签所对应的分类 wp_usermeta:存储用户的元数据 wp_users:存储用户 在WordPress的数据库结构中,存储系统选项和插件配置的wp_options表是比较独立的结构,在后文中会提到,它采用了key-value模式存储,这样做的好处是易于拓展,各个插件都可以轻松地在这里存储自己的配置。 post,comment,user 则是三个基本表加上拓展表的组合。以wp_users为例,wp_users已经存储了每个用户会用到的基本信息,比如 login_name、display_name、 password、email等常用信息,但如果我们还要存储一些不常用的数据,最好的做法不是去在表后加上一列,去破坏默认的表结构,而是将数据存在wp_usermeta中。wp_usermeta这个拓展表和wp_options表有类似的结构,我们可以在这里存储每个用户的QQ号码、手机号码、登录WordPress后台的主题选项等等。 比较难以理解的是term,即wp_terms、wp_term_relationships、wp_term_taxonomy。在WordPress的系统里,我们常见的分类有文章的分类、链接的分类,实际上还有TAG,它也是一种特殊的分类方式,我们甚至还可以创建自己的分类方法。WordPress将所有的分类及分类方法、对应结构都记录在这三个表中。wp_terms记录了每个分类的名字以及基本信息,如本站分为“WordPress开发”、“WPCEO插件”等,这里的分类指广义上的分类,所以每个TAG也是一个“分类”。wp_term_taxonomy记录了每个分类所归属的分类方法,如“WordPress开发”、“WPCEO插件”是文章分类(category),放置友情链接的“我的朋友”、“我的同事”分类属于友情链接分类(link_category)。wp_term_relationships记录了每个文章(或链接)所对应的分类方法。 庆幸的是,关于term的使用,WordPress中相关函数的使用方法还是比较清晰明了,我们就没必要纠结于它的构造了。 wp_commentmeta meta_id:自增唯一ID comment_id:对应评论ID meta_key:键名 meta_value:键值 wp_comments comment_ID:自增唯一ID comment_post_ID:对应文章ID comment_author:评论者 comment_author_email:评论者邮箱 comment_author_url:评论者网址 comment_author_IP:评论者IP comment_date:评论时间 comment_date_gmt:评论时间(GMT+0时间) comment_content:评论正文 comment_karma:未知 comment_approved:评论是否被批准 comment_agent:评论者的USER AGENT comment_type:评论类型(pingback/普通) comment_parent:父评论ID user_id:评论者用户ID(不一定存在) wp_links link_id:自增唯一ID link_url:链接URL link_name:链接标题 link_image:链接图片 link_target:链接打开方式 link_description:链接描述 link_visible:是否可见(Y/N) link_owner:添加者用户ID link_rating:评分等级 link_updated:未知 link_rel:XFN关系 link_notes:XFN注释 link_rss:链接RSS地址 [...]
第一部 让青春继续 第一季《初恋故事完整版》 90年代中,男主人公百脑(不知道为什么要取这个名字,怪怪的)从四川成都考入西安一所部属院校。这一季就是讲述大学四年的校园生活。这季的整个故事 非常真实,几乎是原画重现了90年代中国大学校园的所有一切,在那个没有互联网和手机的时候大学校园应该有的一切:恋爱、打架、串校、老乡、足球、晚会、 作弊、喝酒、卧谈、火车、饭票、旅游、生活费、操行评分、毕业分配等等,直至最后所有90年代大学生都哭的伤心欲绝的火车站送别。故事里面爱情和友情交相辉映,纯真初恋、仗义兄弟、飘雪冬天、校园民谣、青春无悔的真实场景纷纷跃然纸上。这一季是所有中国校园小说里面的精品中的精品,浓缩了一个时代的精华! 创作团队的这个开篇非常成功,以一种温情加怀旧的方式迅速在互联网走红,开始紧紧抓住所有粉丝的心!让人不得不继续追下去!当然追的理由最大的可能就是男 女主人公在毕业前夕分手后,在以后的生活中是否还会再相逢?还有可能再续前缘吗? 第二季《在那灰暗日子里》 这一季是绝对让人伤心和惊讶不已的!主人公百脑在刚工作一年后就因为儿时兄弟江海,被送进了监狱!故事从第一季如诗如画般的象牙塔,猛然转折进入监狱 高墙,虽然这一季对百脑来说是永生难忘的一段经历,但是我们真的怀疑创作团队从一开始就没打主意让我们舒服的读下去,根本不让我们YY!整个长篇故事的精 髓已经开始若隐若现了:这不是小说,这是真实的社会,残酷的现实!曾经有在百脑服刑的那个看守所实习过的某警校学生在网上跟帖证实:故事绝对真实,不是杜 撰,因为文中的很多细节只有在那个看守所里面呆过的人才可能知道,非常详细的内容,甚至想故意找出一点破绽都不可能,连饭菜的价格都没有写错! 第三季《最珍贵年轻的心》 百脑出狱后,经历颠簸坎坷,最后终于修成正果,来到北京,进入了著名的外企。故事从灰暗中突然一下又变得让人充满希望。这季里面的“大名字”也纷纷登 场:普华永道、IBM、华为贝尔。很多让人可望而不可及的著名外企一下子被故事赤裸裸的摆在我们面前,高级写字楼里让人艳羡的白领生活也毫无保留的呈现。 当然,这一季里面也有爱情,在第一季中仅仅只是闪现了一下的西安外语学院的美女方雅,竟然和百脑有了段短暂的情愫。后来又出场了一个女主人公,百脑在普华 永道的同事,香港女孩林素芸(阿芸),不过最终仍然以分手告终。但是我们认为这一季其实并非是个完整故事,而是在为后面的精髓内容交待场景,因为故事里面 出场了传奇人物,后来和百脑关系复杂微妙的Christy,这才是真正的关键! 第二部 最后岁月 第一季《羊城岁月》 正当我们还在猜测第二部《最后时候》中百脑是否还会和程璐见面,是否还会和香港女孩阿芸再次重逢,创作团队竟然又给我们来了个大急转弯:主人公换人! 我靠,当时的感觉就是严重昏迷,几乎都不想再看下去了。《让青春继续》第一季中毫不起眼的百脑大学同学(同时也是程璐同班同学)的李云峰变成了主人公!这 个陕西娃参加工作后的平凡往事看得我们昏昏欲睡,几欲骂娘:还我百脑!还我程璐!我们要看冰山美人!但是还没看到故事的1/3,我们就知道我们错了:云峰 的故事同样精彩,根本不输百脑,甚至还更胜一筹!这个故事里面的大名字更加牛比轰轰,搞得创作团队除了南方航空公司是用的实名外,其他的名字都只能写隐语 了(个人感觉最搞笑的是“南海船队”,老大们,还不如直接写舰队好啦,这么明显的还隐什么呀!)。整个故事是非常激动人心的岁月风月,完全不同于《让青春 继续》。故事里面出现的军队、生意场、黑社会、走私、官方买办等等东西残酷的都让人怀疑这还是不是《让青春继续》的续集?是不是进错了?我们逐渐的在感觉 到:创作团队是在跟我们绕一个大弯子,这个第二部《最后时刻》其实才是整个故事的正文,第一部《让青春继续》不过仅仅是正餐前的开胃菜而已!《羊城岁月》 让我们领悟到了男人这个名词的真正含义,让我们这些创作团队口中的“小P孩”开始真正的认识这个社会。说句大实话,当时我通宵看完后,对第一部的主人公百 脑慢慢的有点鄙视了,我的偶像换成了云峰,他才是男人!百脑比不上他!虽然我知道这个看法有点偏激,虽然也知道创作团队绝对不会让我们这么容易就给人下定 义,因为肯定还有很多的意想不到在后面,但当时我们真的完全被云峰折服了。 第二季《沪江不眠夜》 继续意想不到,在没有任何征兆的前提下,第二季的主人公又猛然换成了方雅!我靠,持续昏迷。方雅这个人物,相信没谁从一开始就真正留心过,我们都以为 她仅仅是百脑的第二个女朋友而已,一个过客。但创作团队却用了整整一季来写这个上海女白领,买件丝巾要花5000块钱的所谓物质女孩。为什么为什么为什么 啊?创作团队在正文里面给了我们理由:故事不是只给男人看的,他们同时还要教育女孩。我靠各位老大你们是传教的啊?怎么这么喜欢教育人嘛!当然百脑也给了 我们理由,不过这个理由让很多人都想骂娘:我操操操!百脑的理由是:程璐其实离他很远,而方雅才是最可能和他结婚的。这算什么理由啊,昏迷!不喜欢方雅, 反正不喜欢。倒不是说程璐比她好,而是这个外语学院毕业的外企白领妹妹实在是太,太物质化了一点。反正我看到这一部的时候,死也想不明白为什么百脑会更喜 欢她。但后来还是想明白了,留在后面说。 第三季《青春如歌》 在我们千呼万唤始出来的美好憧憬下,在《让青春继续》中某种程度上被神话了的主人公百脑,这一季终于出场了。不过他把自己的名字换成了百大傻,经常这 样自称,估计是创作团队认为丫应该回到人间了。这一季其实就是百脑从“神”到“人”的一个转化,不过不是写的现在的事情,而是对少年时代的回忆。本季《青 春如歌》其实就是第一部《让青春继续》的前传。很多熟悉的名字,比如江海,瓜皮,唐怡,夏蓉,在故事里面纷纷登场,完全是个成都街头版的《古惑仔传奇》。 当时看第一部的时候,我还是有点不能理解百脑为什么那么重意气,因为朋友而坐牢,不是谁都能做出来的,看完本季后就能理解了:江海是他过命交情的兄弟,从 小一起长大,那份感情的确是沉重得难以用尺度来衡量!很感人!70S人特有的那种热血江湖情怀,在这一季里面酐畅淋漓。同时这季里面还写了百脑回成都后的 一段失败的感情生活,反正照我看来就是百脑真正还是普通人,他仍然摆脱不了普通人的种种心理和感情上的缺陷,尤其是在周越逼着结婚,逼着“谋一个好前途” 的压力下,他内心的那种彷徨无奈,甚至做出对不起朋友的事。我们的偶像终于重回人间了。 第四季《羊城岁月续集》 如果说第一季《羊城岁月》也可以勉强算励志故事的话,那这一季就完全是《上海滩》了。一个枭雄的起起落落,一个真男人的无悔人生!云峰在和许静结婚以 后,碰到了很多他在没发达时不用去考虑的问题,这时全部变成了压垮他的大石。江湖的腥风血雨,人情世故的复杂暧昧,妻子的不信任和猜忌,一直在照看他的大 [...]
1、人生最重要的不是努力,不是奋斗,而是抉择。 2、老板只能给一个位置,不能给一个未来。舞台再大,人走茶凉。 3、意外和明天不知道哪个先来。没有危机是最大的危机,满足现状是最大的陷阱。 4、所见所闻改变一生,不知不觉断送一生。 5、生意,可以掌控努力与投资,却无法掌控结果。人生得意时找出路,失意时才有退路,宝马都有备胎,您的人生呢? 6、世界上有多少有才华的失败者,世界上有很多高学历的无业游民—是因为选择错误。 7、下对注,赢一次;跟对人,赢一世。 8、学识不如知识,知识不如做事,做事不如做人。 9、不识货,半世苦;不识人,一世苦。 10、生命不在于活得长与短,而在于顿悟的早与晚。 11、做人处事,待人接物:重师者王,重友者霸,重己者亡。 12、没有目标的人永远为有目标的人去努力。 13、人生三阶段:比才华;比财力;比境界。 14、人若把自己框在一定的范围内,就容易限制了自己的思维和格局。 15、今天的优势会被明天的趋势代替,把握趋势,把握未来。 16、读万卷书不如行千里路,行千里路不如阅人无数,阅人无数不如名师指路。经师易得,人师难求。 17、学历代表过去,财力代表现在,学习力代表将来。 18、人生能走多远,看与谁同行;有多大成就,看有谁指点。 19、聪明的人看得懂,精明的人看得准,高明的人看得远。 20、做人不成功,成功是暂时的;做人成功,不成功也是暂时的。 记住这些话 他会帮你变得更完美 记住 : 再烦,也别忘微笑;再急,也要注意语气; 再苦,也别忘坚持;再累,也要爱自己。 低调做人,你会一次比一次 稳健;高调做事,你会一次比一次优秀。 成功的时候不要忘记过去;失败的时候不要忘记还有未来。 [...]
首先请看效果截图: 功能一: 对有商品属性且属性有附加价格的商品显示为价格区间 代码修改: 1.在 includes/lib_goods.php 文件中找到function get_goods_info($goods_id) 在此函数中找到代码: /* 获得商品的销售价格 */ $row['market_price'] = price_format($row['market_price']); $row['shop_price_formated'] = price_format($row['shop_price']); 然后在此代码下面加上如下一段代码即可实现: /* 获得有规格属性的商品的销售价格范围 */ $sql = "SELECT SUM(max_attr_price) AS max_price FROM (SELECT MAX(attr_price+0) AS max_attr_price FROM " . $GLOBALS['ecs']->table('goods_attr') . [...]
在做对ecshop二次开发的过程中,难免避免不了手动对一些数据进行读取显示,其中不得不涉及到的就是分页功能,当然我们可以使用第三方的分页类对其进行分页功能的实现,这样的类很多也很杂,笔者在google上也尝试过,但终究也没有找到一个喜欢且合适分页类,当然这里也就不多说了。 本文主要是想帮助做ecshop二次开发需要用到分页功能开发人员快速的调用ecshop自带的分页方法,这样既可以保证分页风格一致而且免去了使用第三方分页类的麻烦,好废话不多说,详见以下的实现步骤: 1.在模板文件上加上分页功能的显示代码,即dwt中引入lib库文件 在.dwt模板文件放分页页码显示的地方加入如下代码即可:<!– #BeginLibraryItem "/library/pages.lbi" –><!– #EndLibraryItem –> 2.php程序读取调用分页函数 在.php(一般是user.php或category.php之类的文件)程序文件中对应的逻辑判断中加入相关的执行代码 //分页处理,分页尺寸 $size = 10; $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; $record_count = $db->getOne("SELECT COUNT(*) FROM " .$ecs->table('需读取的数据表名'). " WHERE 相关判断条件"); $pager = get_pager('当前php文件', array('act' => $action), $record_count, $page, $size); $ad_user_list = 数据读取函数($user_id, $size, $pager['start']); //分页数据传给模板 $smarty->assign('pager', $pager); 3.修改原有的数据读取函数,增加$num,$start两个参数的传递和处理,这儿的修改就得根据你自己的数据读取函数自行修改了,函数一般都写在在lib_transaction.php文件中 可参考下面简单的例子实现 function 数据读取函数($user_id, $num = [...]
第一步: 从数据库入手用mysql管理工具找到 ecs_mail_templates 表插入一条 注册发送邮件的数据 INSERT INTO `ecs_mail_templates` (`template_id`, `template_code`, `is_html`, `template_subject`, `template_content`, `last_modify`, `last_send`, `type`) VALUES (”, ‘send_reg’, 0, ‘注册确认’, ‘{$user_name}您好!<br>\r\n<br>\r\n 恭喜你注册为XXXXX.com会员\r\n\r\n{$shop_name}\r\n{$send_date}’, 1228373714, 0, ‘template’); template_content 是邮件发邮件内容字段 根据自己的需要编辑不同的内容 当然等你添加成功后 去后台邮件模板管理可以去做管理编辑。 第二步: 在语言文件加入一行记录 找languages/zh_cn/admin/mail_template.php 打开 添加 $_LANG['send_reg'] = ‘注册确认模板’; 第三步:修改注册文件 打开 user.php 找到 if (register($username, $password, $email, $other) !== false) { show_message(sprintf($_LANG['register_success'], $username . [...]