EEDU Blog: 博客 ·  资讯 ·  论坛 ·  留言
登录 新用户? 注册   |  

ahaoxie's blog

订阅博客:

环境生态网站长

小窍门

灵活运用siderbar

在标签云图的代码前面加上条件控制代码,is_home()
<?php if(is_home()): ?>
 <li><h2>标签云图</h2>
  <div>
  <?php wp_tag_cloud('smallest=8&largest=20&orderby=count&order=DESC&number=30'); ?> 
  </div>
 </li>
<?php endif; ?>

适用于Widget Logic 插件的控制条件is_home()、is_single()、is_category()等条件同样适用于代码,而且代码能控制的通过插件不一定能实现。

而某个分类页面的侧边栏里面的最新文章显示该分类里面的最新文章。这种情况,我们可以通过加入下面的代码来实现,111就是指定的分类的ID。

<?php if (in_category('111')) : ?>
发表于: 2012-02-10 12:54 | 全文(查看: 62) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: Widget  新知  

解决MyEclipse运行缓慢的办法

1,批量的validation需要验证
其实不需要这个,可以去掉
打开Myeclipse---->window--->preferences--->Myeclipse--->Validation
build下除了 Classpath dependence validate
其他勾全部去掉。
这样它不会再去校验了。想校验某个jsp文件如下操作:
文件内容点右键---myeclipse---Run Validation,

2,老是弹出Quick update error 、关闭myeclipse的Quick Update自动更新功能
这个问题的解决办法是关闭自动更新
Windows > Preferences > MyEclipse Enterprise Workbench > Community Essentials,
把选项 "Search for new features on startup"的前勾去掉即可。

3,关闭updating indexes
Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven>禁用Download repository index updates on startup 。

4,启动优化,关闭不需要使用的模块 一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的模块禁止 加载启动。
Window > Preferences > General > Startup andy Shutdown 在这里列出的是MyEclipse启动时加载的模块 我这里只让它加载tomcat5 勾选 MyEclipse EASIE Tomcat 5 。
怎样才能知道哪些启动项有用呢?我现在把我知道的启动项用处说一下,还有很多不懂的,希望大家懂的回复在下面啊:
WTP :一个跟myeclipse差不多的东西,主要差别是 WTP 是免费的,如果使用myeclipse,这个可以取消
Mylyn:组队任务管理工具,类似于 CVS ,以任务为单位管理项目进度,没用到的可以取消
Derby:一种保存成 jar 形式的数据库,我没用到,取消
一大排以 MyEclipse EASIE 打头的启动项:myeclipse 支持的服务器,只选自己用的,其他取消,比如我只选了tomcat 。

5,去掉MyEclipse的拼写检查(如果你觉的有用可以不去) 拼写检查会给我们带来不少的麻烦,我们的方法命名都会是单词的缩写,他也会提示有错,所以最好去掉,没有多大的用处
Window > perferences > General > Editors > Text Editors > Spelling > 将Enable spell checking复选框的勾选去掉。

6,去掉MyEclipse繁杂的自带插件自动加载项
Window > perferences > General > Startup and Shutdown > 将Plug-ins activated on startup 中的复选框有选择性的勾选去掉。

7,修改MyEclipse编辑JSP页面时的编辑工具
Window > perferences > General > Editors > File Associations >
在File types 中选择 *.jsp > 在Associated editors 中将"MyEclipse JSP Editor"设置为默认。

8,修改MyEclipse安装目录的eclipse.ini文件,加大JVM的非堆内存
具体内容如下:
-clean
-showsplash
com.genuitec.myeclipse.product.ide
--launcher.XXMaxPermSize
256m
-vmargs
-Xms128m
-Xmx512m
-Duser.language=en
-XX:PermSize=128M
-XX:MaxPermSize=256M

把下面的那个 -XX:MaxPermSize 调大,比如 -XX:MaxPermSize=512M,再把 -XX:PermSize 调成跟 -XX:MaxPermSize一样大 。
发表于: 2012-02-04 02:55 | 全文(查看: 664) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: Myeclipse  新知  

FancyBox 和其 WordPress 插件

FanyBox 的 WordPress 插件

正是因为 FancyBox 的强大,很多 WordPress 爱好者,就开发了 FancyBox 的 WordPress 插件,增强 WordPress 的图片显示效果。

1. Easy FancyBox

Easy FancyBox 可以非常容易让你在 WordPress 中启用 FancyBox 插件,Easy FancyBox 可以使得你博客中所有指向图片文件 (.jpg/.bmp/.gif/.png) 和 Falsh 动画文件 (.swf) 自动获取 FancyBox 的弹出效果。这个插件没有配置页面,没有选项,只需激活即可,这也是我推荐的插件方式。

Easy FancyBox

下载:Easy FancyBox

2. Fancy Gallery

Fancy Gallery 整合 FancyBox 到你的 WordPress 博客中,同样,所有指向图片的链接都会自动使用 FancyBox 的方式弹出页面的上面,如果你使用 [gallery] 这个 Shortcode 来显示相册,相册中图片弹出的时候会自动加上 上一张,下一张 的导航条,非常方便。

下载:Fancy Gallery

3. FancyBox Gallery

FancyBox Gallery 把 FancyBox 这个 jQuery 插件集成到 WordPress 的 Gallery 功能中,你只需要在日志内容中试用 Gallery Shortcode 显示缩略图,这个插件就会处理好剩下的,你会得到非常漂亮的大图弹出效果,而且还会修正大小到适合浏览器窗口。

下载:FancyBox Gallery

4. FancyBox for WordPress

FancyBox for WordPress 这个是做的最复杂的 FancyBox 插件,他可以让你自定义 FancyBox 的所有东西,包括边距,边框,颜色,放大速度,动画效果,关闭按钮的位置,覆盖层的颜色,透明度,还有如果去归类一组相册的选项等等。

下载:FancyBox for WordPress

翻译自:FancyBox and WordPress Plugins

出处:http://fairyfish.net/article/fancybox-and-wordpress-plugins/

发表于: 2012-01-31 00:03 | 全文(查看: 292) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: WordPress  FancyBox  新知  

jquery fancybox 使用实例

jquery fancybox hideOnContentClick


又一个实现Lightbox效果的jQuery插件,不过采用了Mac系统的样式。它主要有以下功能:

  • 弹出的窗口有很漂亮的阴影效果。
  • 关联的对象(就是rel标签的值一样)会成组显示,上面还有导航的按钮(上一项,下一项)。
  • 可以显示图片、内联、ajax和iframe内容。
  • 可以通过设置参数和CSS定制效果。
  • 通过easing插件可以实现fancy transitions效果(就是一些动画效果)。

用法

1.引入必须的js库

<script type="text/javascript" src="path-to-file/jquery.js"></script> <script type="text/javascript" src="path-to-file/jquery.fancybox.js"> </script>

如果要使用一些动画效果,还要引入以下js

<script type="text/javascript" src="path-to-file/jquery.easing.js"> </script>

2.导入CSS文件,由于CSS里使用的图片默认跟CSS是放在同一个目录下的,所以如果你的CSS跟图片分开放,记得修改CSS里的图片路径。

<link rel="stylesheet" href="path-to-file/fancybox.css" type="text/css" media="screen">

3.创建一个链接元素
图片

来源:(http://blog.sina.com.cn/s/blog_5f4a07930100hkej.html) - jquery fancybox 使用整理_zhrenjie04_新浪博客
<a id="single_image" href="image_big.jpg"><img src="image_small.jpg" alt=""/></a>

inline内容

<a id="inline" href="#data">This shows content of element who has id="data"</a>

iframe框架

<a href="http://www.example?iframe">This goes to iframe</a> <!--or--> <a class="iframe" href="http://www.example">This goes to iframe</a>

Ajax

<a href="http://www.example/data.php">This takes content using ajax</a>

可选项:如果要显示标题,可以通过设置a里的title属性实现。
注意:如果显示的为iframe或者inline内容而且在他们里面包含有可以点击的对象,那么把hideOnContentClick属性设为false,不然那个点击就会跟hideOnContentClick这个效果冲突了。
4.使用jQuery选择器调用功能。
例如:

$(document).ready(function() {     $("a#single_image").fancybox()     $("a#inline").fancybox({ 'hideOnContentClick': true })   $("a.group").fancybox({ 'zoomSpeedIn': 300, 'zoomSpeedOut': 300, 'overlayShow': false }) })

相册效果需要把同一个相册的相片的"rel"属相设为一样的值。

参数

padding 跟CSS里的padding差不多一个意思
imageScale 如果为true,则图片会被缩放以适应窗口
zoomOpacity 如果为true,则在动画过程中内容的透明度会改变
zoomSpeedIn zooming-in动画时的速度,单位为毫秒。0的话动画将不会出现
zoomSpeedOut zooming-out动画时的速度,单位为毫秒。0的话动画将不会出现
zoomSpeedChange 切换图片时的动画速度,单位为毫秒。值为0的话将不会出现动画
easingIn, easingOut, easingChange 决定动画使用何种easing效果
frameWidth iframe和inline框口的默认宽度
frameWidth iframe和inline框口的默认宽度
frameHeight iframe和inline框口的默认高度
overlayShow 如果值为true的话,则显示遮罩,默认为false。遮罩的颜色可以在CSS里定义
overlayOpacity 遮罩的透明度。值为0到1.
hideOnContentClick 值为true的话,则在点击Fancybox对象时,Fancybox会被隐藏
centerOnScroll 值为true时,当用户滚动页面时,内容会一直居中显示
itemArray 可选项,可以设置自定义数组(事实上我还不知道用来干嘛的= =有空再研究下代码)
callbackOnStart 可选项,在Fancybox启动时会被调用
callbackOnShow 可选项,在Fancybox显示内容时会被调用
callbackOnClose 可选项,在Fancybox关闭时会被调用

兼容性

支持最新版本的FireFox, Safari 和 Opera ,还有 IE6 和 IE7。另外稍微测试了下,Chrome也支持。

下载

请到Google Code下载。文件包含了Fancybox这个插件以及实例。另外jQuery和easing这个插件也包含在里面。

FAQ

1.根本就运行不了。图片在新的窗口打开了。出了虾米错?
检查下你是否已经导入了所有的文件以及设置正不正确。
2.Fancybox可以在flash内容上面显示吗?
可以。看这里
3.可以在iframe里调用代码吗?
因为Fancybox这个插件是依附在页面body上的,所以不能这样调用。如有需要请修改Fancybox的代码。
4.有没有Wordpress上可以使用的插件?
有一些,你可以试试这个
5.怎样在其他元素上关闭Fancybox?
调用$.fn.fancybox.close()就行了。

以上内容基本都来自或者翻译自官网http://fancybox.net/
这个东西其实在很早前就被我运用于项目了,当时还是1.0版本左右,后来作者很久没更新了,直到jQuery出了1.3后作者立刻就出了新版本了~

通过函数调用$("#acl_link").fancybox({'hideOnContentClick': false}).click();
'hideOnContentClick': false 点击不关闭,可用于ajax页面

发表于: 2012-01-30 23:59 | 全文(查看: 650) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: jquery  新知  

Dojo(JavaScript框架)

Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供 Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI控件库。DojoX包括一些创新/新颖的代码和控件:DateGrid,charts,离线应用,跨浏览器矢量绘图等。

官网:http://dojotoolkit.org/

发表于: 2011-12-01 13:45 | 全文(查看: 28) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: JavaScript  新知  

Sphinx全文检索引擎

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。

官网:http://www.sphinxsearch.com/

发表于: 2011-11-20 10:19 | 全文(查看: 66) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: 检索  新知  

解决NTLDR is missing,系统无法启动的方法

  启动的时候,提示:“NTLDR is missing,Press CTRL+ALT+DEL to restart”,无法正常开机启动。分析:NTLDR文件是win nt/win200/WinXP的引导文件,当此文件丢失时启动系统会提示“NTLDR is missing,Press CTRL+ALT+DEL to restart”,并要求按任意键重新启动,不能正确进入系统 。所以应该在系统正常的时候给予备份。

    解决方法:

    1、如果你手上有XP系统安装盘,放入光驱,bios里的第一启动设备选择光驱,一般番茄花园版的XP安装盘里带有系统引导修复(快捷键A,具体的因盘而已),选择里面的“XP在第一个硬盘的第一个分区”,执行引导修复,即可成功进入系统。
  
    进入系统后,打开XP安装盘,找到这两个文件:G:\i386\ntldr以及G:\i386\ntdetect.com(我的G盘是光驱),把它们复制到c盘根目录下,以后重新启动的时候就可以正常开机了,开机时可能出现平时的>>>>变成了?????,不用担心,启动一次后,以后就正常了,这是系统为你写好BOOT.INI文件呢。

使用中文版WindowsXP如启动时选单出现乱码者可在进入WindowsXP后将WindowsXP光盘I386目录下的bootfont.bin复制至C盘的根目录下便可,如使用英文版WindowsXP者把bootfont.bin从C盘的根目录下删除便可。

    解决方法二:

    按照下面步骤进行修复:
1、将WindowsXP安装光盘放入光驱
2、进入BIOS设置为Boot From CD-ROM
3、当显示到“Press any key to boot from the CD”时,按下任意键
4、当进入到Windows XP安装菜单时,按下“R”键进入故障恢复台。
5、按下“1”键和回车登录进入你的Windows安装
6、输入你的Administrator帐户和密码
7、拷贝俩个文件到系统所在分区,假设你的光驱为F盘符。按照下面例子:
copy F:\i386\ntldr c:\
copy F:\i386\ntdetect.com c:\
完成后重新启动一下就OK了。

    解决方法三:

    修复WindowsXP启动系统:
1.在BIOS设使用光盘驱动器启动电脑
2.放入WindowsXP光盘在光盘驱动器内启动电脑
3.让光盘自动执行至停止便会出现叁个选择,按〔R〕选修复电脑便会询问要进入哪个系统,请选择WindowsXP的代号,然后输入Administrator密码(与安装时输入的Administrator密码相同)如果没有密码直接按输入键便可
4.在C:\Windows>下键入Fixboot及按〔Y〕确认
5.在C:\Windows>下键入光盘\
6.在C:\>下键入ATTRIB-HNTLDR
7.在C:\>下键入ATTRIB-SNTLDR
8.在C:\>下键入ATTRIB-RNTLDR
9.在C:\>下键入ATTRIB-HNTDETECT.COM
10.在C:\>下键入ATTRIB-SNTDETECT.COM
11.在C:\>下键入ATTRIB-RNTDETECT.COM
12.在C:\>下键入COPY X:\I386\NTLDR C:\ (注:X:是光盘驱动器的代号下同)
13.在C:\>下键入COPY X:\I386\NTDETECT.COM C:\
14.完成后取出WinXP光盘及键入〔Exit〕会重新启动电脑
15.在BIOS选回用硬盘启动电脑便可
16.使用中文版WindowsXP如启动时选单出现乱码者可在进入WindowsXP后将WindowsXP光盘I386目录下的bootfont.bin复制至C盘的根目录下便可,如使用英文版WindowsXP者把bootfont.bin从C盘的根目录下删除便可。

    补充1:一般情况系统的引导过程是这样的

1、电源自检程序开始运行
2、主引导记录被装入内存,并且程序开始执行
3、活动分区的引导扇区被装入内存
4、NTLDR从引导扇区被装入并初始化
5、将处理器的实模式改为32位平滑内存模式
6、NTLDR开始运行适当的小文件系统驱动程序。
小文件系统驱动程序是建立在NTLDR内部的,它能读FAT或NTFS。
7、NTLDR读boot.ini文件
8、NTLDR装载所选操作系统 *如果NT/XP被选择,,
NTLDR运行Ntdetect.com 对于其他的操作系统,
NTLDR装载并运行Bootsect.dos然后向它传递控制。
windows NT过程结束。
9.Ntdetect.com 搜索计算机硬件并将列表传送给NTLDR,以便将这些信息写进HKEY_LOCAL_MACHINEHARDWARE中。
10.然后NTLDR装载Ntoskrnl.exe,Hal.dll和系统信息集合。
11.Ntldr搜索系统信息集合,并装载设备驱动配置以便设备在启动时开始工作
12.Ntldr把控制权交给Ntoskrnl.exe,这时,启动程序结束,装载阶段开始  

    补充2:微软官方网站的对该故障的说明

启动计算机时收到“NTLDR is missing”(缺少 NTLDR)错误信息

症状:在将多个文件复制到使用 NTFS 文件系统的启动卷的根文件夹后,下次启动计算机时可能会收到下面的错误信息: NTLDR is missing Press CTRL+ALT+DEL to restart.如果删除复制到根文件夹的文件,主文件表 (MFT) 分配索引并不会降到原大小。

原因:如果 MFT 根文件夹碎片较多,则可能会出现此问题。如果 MFT 根文件夹包含多个文件,则 MFT 就会变得非常零碎,以至于需要另外创建一个分配索引。因为文件是按字母顺序映射到分配索引中的,NTLDR 文件可能会被推到第二个分配索引中。如果发生此现象,就会看到本文“症状”部分中描述的错误信息。一般情况下不将文件写入根文件夹。如果一个程序定期在根文件夹中创建和删除临时文件,或者将许多文件误复制到根文件夹,就会造成这一情况。

引自:http://www.piaoyi.org/computer/NTLDR-is-missing.html
发表于: 2011-10-10 12:41 | 全文(查看: 70) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: windows  新知  

WYSIWG Filter过滤中文字体名称的问题

CKEDITOR,HTML过滤器用的是WYSIWG Filter。默认只有英文的字体,没有中文的。

在sites/all/modules/ckeditor.config.js里添加中文字体名称:

config.font_names = "宋体/宋体;黑体/黑体;仿宋/仿宋_GB2312;楷体/楷体_GB2312;
隶书/隶书;幼圆/幼圆;微软雅黑/微软雅黑;" + config.font_names;

在输入界面上选择中文字体,查看源代码,一切正常。保存到数据库以后,发现中文字体不见了。颇费一番折腾,发现WYSIWG Filter对各CSS属性都定义了检验的正则表达式,不符合正则表达试的都认为是不合格的属性,会被清除。具体过程是:

  1. CKEDITOR生成编辑结果,假设HTML源码为:<span style="font-family: 宋体;">abcabc</span>
  2. WYSIWG解析出style中的CSS属性font-family的值为: 宋体
  3. WYSIWG调用font-family的正则表达式,检查 “宋体”这个值不合法,于是丢弃这个值
  4. 于是style为空,也被丢弃
  5. 最后的结果变成了<span>abcabc</span

解决的方法:修改WYSIWG关于font-family的正则表达式。在 wysiwyg_filter.inc 文件中找到 font-family,原正则表达式为:'(?:[-_a-zA-Z0-9"\' ]*(?:\s*,\s*[-_a-zA-Z0-9"\' ]*)*),这个表达式不允许汉字是显而易见的。修改成下面的正则表达式:'(?:[\S ]*(?:\s*,\s*[\S ]*)*)',再测试,一切正常。说明解决的思路基本上正确了。当然这个正则表达式还有问题,需要进一步修正。

WYSIWG Filter的地址: http://drupal.org/project/wysiwyg_filter

引自:http://blog.sina.com.cn/s/blog_70121e200100xvzl.html

发表于: 2011-09-30 00:58 | 全文(查看: 135) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: WYSIWG  CKEDITOR  新知  

怎样在CKeditor中添加入中文字体?

 

打开CKeditor目录里的 config.js,在

CKEDITOR.editorConfig = function( config )

{

};

里添加如下代码:

config.font_names='宋体/宋体;黑体/黑体;仿宋/仿宋_GB2312;楷体/楷体_GB2312;隶书/隶书;幼圆/幼圆;微软雅黑/微软雅黑;'+config.font_names;

以后使用的时候就可以用中文字体了。

发表于: 2011-09-30 00:19 | 全文(查看: 210) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: CKeditor  新知  

drupal-theme:按照内容类型设计页面布局

说明:

这篇文章介绍如何根据不同的内容类型(content types)进行页面布局(full page layout)。比如说你想让你的blog和books拥有不同的外观。

步骤:

作为一个示例,下面一步一步演示一下如何为网站的blogs,books和首页(front page)拥有不同的页面布局。

首先:

  1. 复制page.tpl.php文件一份副本,将它重命名为page-default.tpl.php
  2. 再做几次相同的工作,分别将其命名为"page-front.tpl.php", "page-blog.tpl.php" 和 "page-book.tpl.php" 等等
  3. 使用编辑器,修改每一个tpl.php文件,按照你的要求进行修改页面布局
  4. 将修改后的tpl-type.php文件(page-front.tpl.php , page-blog.tpl.php 等等)上传到你正在使用的theme目录下

然后:

  1. 用下面这段代码替换page.tpl.php中的内容
  2. 确保theme内有page-default.tpl.php文件
  3. 上传page.tpl.php文件到你现在正在使用的theme目录内,新的页面而已就会自动生效了

Evance注:

  1. 下面的代码片断可以按照新增加/删减的内容类型进行添加/删除。
  2. page-default.tpl.php文件将会是未指定特定内容类型的布局文件所默认的布局,比如说,按照前期设计要求完成了theme设计。后来可能根据新的需求又增加了新的内容类型,那么它将会使用page-default.tpl.php的布局进行页面组织。

 代码:

<?php 
/**
* This snippet loads up different page-type.tpl.php layout
* files automatically. For use in a page.tpl.php file.
*/
  
if ($is_front) {/* check if it's the front page */
include 'page-front.tpl.php'; /*load a custom front-page.tpl.php */
return; }
  
if ($node->type == 'book') {/* check if it's a book page */
include 'page-book.tpl.php'; /*load a page-book.tpl.php */
return; }
  
if ($node->type == 'blog') {/* check if it's a blog node */
include 'page-blog.tpl.php'; /*load page-blog.tpl.php */
return; }
  
if ($node->type == 'image') {/* check if it's an image node */
include 'page-image.tpl.php'; /*load page-image.tpl.php */
return; }
  
if ($node->type == 'forum') {/* check if it's a forum node */
include 'page-forum.tpl.php'; /*load page-forum.tpl.php */
return; }
  
include 'page-default.tpl.php'; /*if none of the above applies, load the page-default.tpl.php */
return;
  
?>

英文原文: Customising the full page layout and sections based on node type

中文原文:  drupal theme:按照内容类型设计页面布局


发表于: 2011-08-30 21:57 | 全文(查看: 255) | 评论(0) | 本文地址 | 收藏 
分类: 小窍门(95)   标签: drupal  布局  新知  
Page was generated in 15 milliseconds