Posted on 31-07-2009
Filed Under (软件) by waterlin

如果把理财软件放在同一台机上,平时不在这台电脑前的时候,要记帐也挺麻烦的。虽然有许多优秀的在线记帐网站,如MoneyLogger等,但是网上记帐存在着诸多问题:一来操作始终没有桌面版来得爽,二来财务隐私放在网上,指不定哪天出问题。

今天发现大名鼎鼎的GnuCash有一个便携版,试了试效果还不错,有兴趣的人可以试一试。

下载网址:http://portableapps.com/apps/office/gnucash_portable

(0) Comments    Read More   
Posted on 30-07-2009
Filed Under (软件) by waterlin

老家爸妈不怎么会弄电脑,经常打电话救助,可惜电脑里死活讲不清楚。

也想过用远程登录之类的东西来解决问题,用来用去,只有QQ的远程助手现实一点。可是用QQ,还需要对方接受等一系列操作,时间久了,老人家们也不一定记得清楚。

现在发现了Mikogo这样一个优秀的德国软件,可以实现Windows、Mac下的屏幕共享、远程控制,并且是免费软件。其最大特点是体积非常小巧、传输效果好速度快,可限定共享的程序,并且能穿透局域网、防火墙。

哪天给老家的电脑装上试试。

官网:http://www.mikogo.com/en/

(0) Comments    Read More   
Posted on 30-07-2009
Filed Under (生活) by waterlin

对于普通人来说,平常的生活无非就是定时上下班、定时挤公交车。

如果坐公交车的时候,不把手机调成振动,或者把铃声调大一点,有电话的时候,是很难发觉的;而如果到了办公室,不换成室内情景模式,来了电话,过响的铃声一样会对别人产生干扰。现在的唯一办法,就是手动调整手机的情景模式。

我就是这样手动调整情景模式的。但是,这种方法很不方便,经常上了公交车忘记调成振动;或是在办公室里,忘记把铃声调小。

手机要有定时转换情景模式的功能就好了,早上八点自动调成室外模式,九点到了办公室自动调成静音或室内模式,下午六点再自动调成室外模式,七点回到家,又可以换回到室内模式了。这样多省力气呀~~

有没有这样的手机?

(1) Comment    Read More   
Posted on 21-07-2009
Filed Under (技术) by waterlin

WOZ模块给Zen-cart提供了集成WordPress作为其博客系统的机会,不过,如果你用的是WordPress2.7版本,集成完毕后访问首页(http://your.zen-cart.com/index.php?main_page=wordpress),可能会出现类似下面的错误:

Warning: Cannot modify header information – headers already sent by (output started at E:\xampp\htdocs\zen-cart-with-wordpress\includes\templates\template_default\common\html_header.php:22) in E:\xampp\htdocs\zen-cart-with-wordpress\wordpress2.7.1\wp-includes\pluggable.php on line 850

而WordPress2.5版本则不会有类似的问题。

要解决这个问题很容易,只要把WordPress网址转发功能给屏蔽掉就好了。在WordPress主题的functions.php文件里加上这么一行代码就好了:

remove_filter(‘template_redirect’,’redirect_canonical’);

如果你用的是WOZ,则在default主题的functions.php文件里加入这段代码即可。有关这个问题的详细解释,以及WordPress转发网址的理由,可以查看Velvet Blues的这篇文章

(0) Comments    Read More   
Posted on 20-07-2009
Filed Under (技术) by waterlin

Zen-cart代码里都是用TABLE_ADDRESS_BOOK这类的define定义来代表实际的数据库表名称。这样做,是因为不同的Zen-cart安装会有不同的前缀,唯有这样才能正确识别出表名。

在对Zen-cart进行二次开发的时候,可以在/includes/database_tables.php里查找各数据库表的define定义。

(0) Comments    Read More   
Posted on 20-07-2009
Filed Under (技术) by waterlin

虽然Zen-cart左右栏都有相关的module放在sideboxes里,但是,有的时候,需要在页面上某个地方单独显示这些box的内容。比如说,我想把Shopping Cart和Currencies的内容显示在页面的头部。这个时候,并不能直接用Zen-cart提供的module;唯有对现有的module进行相关的改造,才能自如的显示内容。

Zen-cart 1.3.8 采用的模板技术比较特殊,/includes/modules里存放的是相关的module文件,负责页面数据的生成;而模板文件则是放在各个模板目录,处理相关页面内容的生成。整个过程更像是对zen-cart的hack,而不是module的制作。

下面就以创建一个页面头部的currencies,来简单说明一下页面module的制作方法,制作完成后的效果如下图所示:

zen-cart_module_make.png

可以参考、对比

/includes/templates/template_default/sideboxes/tpl_search_header.php
/includes/templates/template_default/sideboxes/tpl_search.php

/includes/modules/sideboxes/search_header.php
/includes/modules/sideboxes/search.php

来获得灵感。

按以下三个步骤来制作这个module:

1)
在/includes/modules/sideboxes目录下,新建一个名叫currencies_header.php的文件。

如果需要,在这个文件里可以依照/includes/modules/sideboxes/search_header.php提供的方法来直接操作数据库。

在这里,我们根据/includes/modules/sideboxes/currencies.php来创建文件,主要是把currencies.php里用于sidebox显示的句子删掉:

$title = '<label>' . BOX_HEADING_CURRENCIES . '</label>';
$title_link = false;
require($template->get_template_dir($column_box_default, DIR_WS_TEMPLATE, $current_page_base,'common') . '/' . $column_box_default);

这样,我们就不会在调用这个module的时候,调用到用于sidebox里显示的相关语句。

同样,在这个文件里,我们可以根据自己的需要,加入一个module生成数据所需要的所有元素。

2)
新建一个名叫tpl_currencies_header.php的文件到/includes/templates/YourTemplate/sideboxes,为这个module创建单独的显示风格。这里根据你需要放置的地方,对其中的CSS/XHTML代码进行修改即可。用于显示的数据,是从第一步的module里传进来的全局变量。

注意:Zen-cart 1.3.8 里,按习惯用$content来存储生成的页面显示代码。

3) 在/includes/templates/YourTemplate/common文件夹里,到指定的页面模板里,加入相关的显示生成语句。

在这个例子中,因为是要在页首显示这个currencies显示框,则要在tpl_header.php里加入这么一段话就可以调用module生成数据了:

<?php
require(DIR_WS_MODULES . 'sideboxes/currencies_header.php');
echo $content;
?>

用上面的方法,就不单单可以修改现有的module,还能根据自己的需要,创作更多的module出来。

(0) Comments    Read More   
Posted on 17-07-2009
Filed Under (技术) by waterlin

如果你在Drupal里用IMCE来上传图片,IMCE默认是把图片一股脑的扔到目录sites/default/files/u%uid下面(%uid是指用户的ID编号)。

这样放图片并不是太理想,随着建站时间的增长,图片的数量必定会越来越多,一股脑地放在一个文件夹下,并不好管理。

我们可以在IMCE里进行一定的设置,从而达到定制保存路径的目的。

从Drupal的管理用户菜单里,进入Administrater –> Site configuration –> IMCE,编辑用户所用的IMCE Profile,如下图所示:

Set_IMCE_save_path.png

对Profile里的Directories属性进行修改,即可以自定义任何喜欢的路径来存放图片,比如说,我用以下面的代码:

php: return ‘u’.$user->uid.’/’.date(‘Y’, $user->created).’/’.date(‘m’, $user->created);

则IMCE在上传图片的时候,会保存在形如下面的路径里:

sites/default/files/u4/2009/07/

随着上传时间的不同,图片保存的路径也有所变化,这样就方便管理了。

(0) Comments    Read More   
Posted on 17-07-2009
Filed Under (技术) by waterlin

Block是指Drupal页面中各种内容的容器,比如”Recent posts”,”Sponsor links”或者”Who’s online”等;Menu则指注册用户的菜单栏,通常位于用户页面的左边。Drupal Cookbook对这两个名词有着详细的解释:

Block: This is a “container” for pieces of content on your displayed page. You may also have “Recent posts,” “Sponsor links,” or “Who’s online.”

Menu:A menu displays a list of links. Drupal menus are often located in a column on the left. For example, your navigation menu.

如果需要定制Drupal的Blocks或者Menus,可以在Drupal的Administrater –> Site Building里的Blocks或Menus里进行定制。

站点导航条可以在Administrater –> Site Building –> Menus –> Primary links进行设置,而Menus里的Navigation则是针对注册用户登陆后的个性化菜单。注意不要混淆Primary links和Navigation的作用。

熟练使用Drupal提供的这些功能,就能体会到Drupal高度可定制的优点了。

(0) Comments    Read More   
Posted on 17-07-2009
Filed Under (技术) by waterlin

Gallery是一个非常优秀的相册开源系统,我们可以用它来为Drupal增加一个完整的相册功能。

1) 先安装Gallery2

官方网站里有Gallery2的详细文档,同样,也有Gallery2的安装手册

Gallery2的安装步骤和其它的开源系统基本上一样,新建一个数据库,然后根据向导一步一步安装即可。

最好把Gallery2安装到Drupal目录下,否则将来会带来一些不必要的麻烦和额外的工作;最好这个目录不要取名为Gallery,可以叫Gallery2或Album之类。这样就不会和Gallery Module有重名的可能性了。

安装完成后,记得注销已登陆的Gallery帐号,否则下一步进行安装的时候,可能会出错。

2) 在Drupal里安装Gallery Module

Gallery Module的安装方法和Drupal里安装一般的Module类似。

同时记得,你应该在Drupal里安装Image Block和Image Frame模块。

3) 在Drupal的后台启用gallery module

Administer –> Site building –> Modules

4) 配置Gallery的路径

Administer –> Site configuration –> Gallery (admin/settings/gallery)

把Gallery配置成你在第一步的安装路径,注意,这里的根目录应该是指Drupal目录。

这一步一定要配置好,否则就没有办法把Gallery2植入到Drupal里了。

配置好以后,就可以同步一下Drupal和Gallery2的帐号信息。

这一步如果进行顺利,则可以在菜单栏里看到Gallery的管理页面链接。

5) 启用Gallery Block

Administer –> Site building –> Blocks

只有启用了Gallery Block,才能在Drupal直接看到Gallery里的图片。

6) Gallery的用户管理可以在Administer –> User management –> Gallery users (admin/user/gallery)里进行维护,可以检查一下用户是否已经同步到这里了。

User management –> Permissions里,给需要Gallery权限的用户,分配access gallery的权限。

就这样,完成了基本的Gallery2与Drupal的集成安装与配置。

(1) Comment    Read More   
Posted on 16-07-2009
Filed Under (技术) by waterlin

Drupal可以任意更换主题,主要把从网上下载的Drupal主题(官网模板下载站),扔到目录/themes/,然后在“管理后台” –> Administrator –> Themes里,启用这个主题即可。

(0) Comments    Read More