<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>koda</title>
    <description>非自由程序员
拒绝自娱自乐</description>
    <link>http://koda.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>Ubuntu下安装ImageMagick和MagicWand For PHP</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/233414" style="color:red;">http://koda.javaeye.com/blog/233414</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong><span style="color: darkred"><span style="font-size: medium">I. 安装ImageMagic</span></span></strong><br /><br />1. 安装：http://www.imagemagick.org下载tar源码包<br /><div class="quote_title">引用</div><div class="quote_div"><br />#tar -jxvf ImageMagick-6.4.3-4.tar.gz<br />#cd ImageMagick-6.4.3-4<br />#./configure –enable-shared –enable-lzw –without-perl –with-modules<br />#make<br />#make install</div><br /><br />不指定安装路径--prefix,就默认将可执行程序安装到/usr/local/bin/目录下(该目录默认在path中)。<br /><br />2. 测试:<br />1). 版本察看<br />简单地执行:<br /><div class="quote_title">引用</div><div class="quote_div">convert -version</div><br />如果看到下面的信息说明安装已经成功<br /><div class="quote_title">引用</div><div class="quote_div">Version: ImageMagick 6.4.3 2008-08-27 Q16 OpenMP http://www.imagemagick.org<br />Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC<br /></div><br /><br />2). 压缩图片.<br />当前目录下有一个文件名字叫hill.png,执行<br /> <div class="quote_title">引用</div><div class="quote_div"> convert -sample 25%x25% hill.png  hill_t.png </div><br />将缩小hill.png为原来的25%，生成新的文件名叫hill_t.png<br /><br />如果出现如下错误提示:<br /><div class="quote_title">引用</div><div class="quote_div">convert: error while loading shared libraries: libMagickCore.so.1: cannot open shared object file: No such file or directory<br /></div><br /><br />将so所在的路径加入到LD_LIBRARY_PATH(前面的安装方式默认安装so到/usr/local/lib目录下)<br /><div class="quote_title">引用</div><div class="quote_div">  export LD_LIBRARY_PATH=/usr/local/lib<br /></div><br /><br />当执行jpg图片缩放的时候,<br />3). 压缩jpg图片<br /><div class="quote_title">引用</div><div class="quote_div"> convert -sample 25%x25% water.png  water_t.png </div><br />系统提示:<br /><div class="quote_title">引用</div><div class="quote_div"> convert: no decode delegate for this image format `water.jpg'.<br /> convert: missing an image filename `t_water.jpg'.<br /></div><br /><br /><strong><span style="font-size: medium"><span style="color: darkred">II. 安装 MagickWand For PHP</span></span></strong><br /><br />假设这一步之前，你已经将php安装好，目录为/usr/local/php。然后去 http://www.magickwand.org/下载 MagickWandForPHP-1.0.7.tar.gz。<br /><br /><div class="quote_title">引用</div><div class="quote_div">#/usr/local/php/bin/phpize  // phpize安装php5.2.6默认安装好了，这一步生成configure文件<br /></div><br />如果这一步提示没有autoconf,则需要在你机器上安装autoconf软件，我用Ubuntu，就用apt-get安装，没在上面浪费很多时间。<br /><br /><div class="quote_title">引用</div><div class="quote_div">#./configure --prefix=/usr/local/magickwand --enable-shared --with-php-config=/usr/local/php/bin/php-config --with-magickwand=/usr/local/imagemagick<br /></div><br /><br />./configure命令的--with-php-config参数指定php-config所在路径，php-config随php一起安装，如果php安装在/usr/local/php/，那么php-config位于/usr/local/php/bin/<br /><br /><div class="quote_title">引用</div><div class="quote_div">#make<br />#make install</div><br /><br />如果命令运行无误，就会在php目录下编译成功magickwand.so文件（在我这里位于/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613）<br /><br /><strong><span style="color: darkred"><span style="font-size: medium">III. 修改php.ini的配置</span></span></strong><br /> 将magickwand.so加入到php.ini中，如extension="/usr/local/php/lib/magickwand.so"，重启Apache即可。<br /><br /> 运行phpinfo()看看是否有magickwand的信息
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/233414#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 20:27:06 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/233414</link>
        <guid>http://koda.javaeye.com/blog/233414</guid>
      </item>
      <item>
        <title>Ubuntu下安装PHP5.2.6</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/233412" style="color:red;">http://koda.javaeye.com/blog/233412</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          采用tar包源码得方式安装。去PHP官方下载php5.2.6 : php-5.2.6.tar.gz<br /><br />但是执行./configure时，系统会提示你libxml没有安装(Ubuntu8.0.4默认没有安装libxml)<br /><br />所以要从ftp://ftp.gnome.org/下载libxml: libxml2-2.6.30.tar.gz<br /><br />I 安装libxml<br /><br />1.解压缩libxml2-2.6.30.tar.gz到临时目录如~/libxml2-2.6.30<br /><br />2.进入~/libxml2-2.6.30 目录，执行<br /> #./configure<br /> #make<br /> #sudo make install<br />则libxml被自动安装默认的/usr/local相关目录下。<br /><br />II 安装php<br />1.解压缩php-5.2.6.tar.gz到临时目录如~/php-5.2.6.tar.gz<br />2.进入~/php-5.2.6.tar.gz 目录，执行<br />#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/usr/local/mysql<br />#make<br />#sudo make install<br />#sudo cp php.ini-dist /usr/local/php/lib/php.ini //为了将来更多的配置<br /><br />./configure的参数:<br /> --prefix说明php安装路径，<br /> --with-apxs2是让apache允许加载php模块(反应在httpd.conf中增加了一行:LoadModule php5_module modules/libphp5.so)<br /> -with-mysql 说明mysql的安装路径，指示默认开启mysql扩展的支持。<br /><br />问题思考：如果你机器上先安装了php再安装apache和mysql，你该如何配置php呢？<br /><br />III 在apache中设置php<br /> AddType application/x-httpd-php .php <br /><br />重新启动Apache,这时你的php网页就应该可以正常工作了.
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/233412#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 20:26:02 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/233412</link>
        <guid>http://koda.javaeye.com/blog/233412</guid>
      </item>
      <item>
        <title>Ubuntu下安装Apache2.0</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/233411" style="color:red;">http://koda.javaeye.com/blog/233411</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          仍然采用tar包源码得方式安装。去官方下载apache2.0 : httpd-2.0.63.tar.gz<br /><br />1.解压缩httpd-2.0.63.tar.gz到临时目录如~/httpd-2.0.63<br /><br />2.进入~/httpd-2.0.63目录，执行<br /> #./configure --prefix=/usr/local/apache2 --enable-module=so<br /> #make<br /> #make install<br /><br />实际执行过程中可能要求你有root权限，所以要求使用sudo<br /><br />3.启动和停止apache<br />启动：sudo /usr/local/apache2/bin/httpd -k start<br />启动时提示: <br />  httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.<br />解决办法是在http.conf中加一行:<br />  ServerName 127.0.0.1:80<br /><br />停止：sudo /usr/local/apache2/bin/httpd -k stop<br /><br />4.让Ubuntu开机自动启动apache.<br /> 1). 复制 /usr/local/apache2/bin/apachectl到/etc/init.d<br /> 2). 加载为服务<br />     sudo update-rc.d apachectl defaults<br /><br />开机重启访问http://localhost/如果显示apache的网页，就说明自动启动成功了。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/233411#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 20:25:35 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/233411</link>
        <guid>http://koda.javaeye.com/blog/233411</guid>
      </item>
      <item>
        <title>Ubuntu如何管理启动服务</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/233410" style="color:red;">http://koda.javaeye.com/blog/233410</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最一般的需要是：有人想让Linux启动时自动运行某个程序。像RedHat就是在/etc/rc.d/rc.local中加入程序启动的命令。对于SuSE,命令则加在/etc/init.d/boot.local中。因为以前用过RedHat多一些，所以先说说RedHat启动方式<br />  RedHat的启动方式和执行次序是：<br /><div class="quote_title">引用</div><div class="quote_div">      加载内核<br />      执行init程序<br />      /etc/rc.d/rc.sysinit # 由init执行的第一个脚本<br />      /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式<br />      /etc/rc.d/rc.local     #相应级别服务启动之后、在执行该文件（其实也可以把需要执行的命令写到该文件中）<br />      /sbin/mingetty # 等待用户登录<br />     <br />      在Redhat中，/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作，包括：<br />      调入keymap以及系统字体<br />      启动swapping<br />      设置主机名<br />      设置NIS域名 <br /></div><br /><br />但是对于服务器类程序，如mysql服务，推荐使用正规的方式来管理服务启动。这里就谈谈Ubuntu是怎样管理服务的<br /><br />添加一个服务<br /> # sudo update-rc.d 服务名 defaults <br /><br />删除一个服务<br /> # sudo update-rc.d -f 服务名 remove<br /><br />临时服务启动停止等<br /> # /etc/init.d/服务名 start|restart|stop<br /><br />对于其他Linux系统，有类似的命令使用，请参阅相关Linux系统文档。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/233410#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 20:25:03 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/233410</link>
        <guid>http://koda.javaeye.com/blog/233410</guid>
      </item>
      <item>
        <title>Ubuntu下安装Mysql5</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/233393" style="color:red;">http://koda.javaeye.com/blog/233393</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: darkred">* 安装</span> <br />基本上你有如下方式可以选择：<br />1. apt-get方式获取<br />  apt-get不失为一种合适的方法，只是觉得Ubuntu源的速度好慢、好慢，所以放弃。<br />2. 从源码安装<br />  MySQL源码如此庞大，该方式将耗费大量时间编译，一般没有必要。<br />3. 二进制tar包安装<br />  tar包安装是传统linux二进制软件安装的基本方法。其优势在于简单，常常是下载后直接解压缩至某目录下即可。对于mysql5官方下载的tar包，只要直接解压缩到/usr/local/mysql下即可运行了<br />我选择的是第三种方法。<br /><br /><span style="color: darkred">* 启动和停止服务：</span><br />启动mysql服务<br />  /usr/local/mysql/bin/mysqld<br />访问Mysql服务器<br />  /usr/local/mysql/bin/mysql -u root<br />关闭mysql服务器<br />  /usr/local/mysql/bin/mysqladmin -u root -p shutdown<br /><br />正确启动方式：前面启动mysql服务的方法仅仅测试用，最好的方式应该使其运行在后台<br />  /usr/local/mysql/bin/mysqld&<br />让服务开机自动运行<br />  把/usr/local/mysql/support-files/my.server 复制到/etc/init.d/mysqld<br />执行<br />  sudo update-rc.d mysqld defaults<br />把mysqld加入到服务中，重新启动机器即可<br /><br />另外，建议把/usr/local/mysql/bin目录加入系统路径，便于用户访问。<br /><br /><span style="color: darkred">* mysqld和mysqld_safe 有什么区别？</span><br />直接运行mysqld程序来启动MySQL服务的方法很少见，mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况，并在其死机时重新启动它。<br />用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见，非BSD风格的UNIX系统中的mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/233393#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 19:40:58 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/233393</link>
        <guid>http://koda.javaeye.com/blog/233393</guid>
      </item>
      <item>
        <title>Ubuntu常用命令大全</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/232929" style="color:red;">http://koda.javaeye.com/blog/232929</a>&nbsp;
          发表时间: 2008年08月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本文摘自：http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=214&mode=thread&order=0&thold=0<br /><br /><br />此文描述了自ubuntu 5.10版本之后的系统所代命令参数，dapper,edgy以及7.04版本中可能会有一些变动，于此文不同，如有疑问可以发邮件给isher或访问wiki.ubuntu.com.cn<br /><br />下面内容及向心内文的内容均为ubuntu（cn）的wiki中摘录，为方便广大是用ubuntu的使用者查找和使用，特摘录安装<br /><br />查看软件xxx安装内容<br /><br />    * dpkg -L xxx<br /><br />查找软件<br /><br />    * apt-cache search 正则表达式<br /><br />查找文件属于哪个包<br /><br />    * dpkg -S filename<br />      apt-file search filename<br /><br />查询软件xxx依赖哪些包<br /><br />    * apt-cache depends xxx<br /><br /><br /><br />查询软件xxx被哪些包依赖<br /><br />    * apt-cache rdepends xxx<br /><br />增加一个光盘源<br /><br />    * sudo apt-cdrom add<br /><br />系统升级<br /><br />    * sudo apt-get update<br />      sudo apt-get upgrade<br />      sudo apt-get dist-upgrade<br /><br />清除所以删除包的残余配置文件<br /><br />    * dpkg -l |grep ^rc|awk '{print $2}' |tr ["n"] [" "]|sudo xargs dpkg -P -<br /><br />编译时缺少h文件的自动处理<br /><br />    * sudo auto-apt run ./configure<br /><br />查看安装软件时下载包的临时存放目录<br /><br />    * ls /var/cache/apt/archives<br /><br />备份当前系统安装的所有包的列表<br /><br />    * dpkg --get-selections | grep -v deinstall > ~/somefile<br /><br />从上面备份的安装包的列表文件恢复所有包<br /><br />    * dpkg --set-selections &lt; ~/somefile<br />      sudo dselect<br /><br />清理旧版本的软件缓存<br /><br />    * sudo apt-get autoclean<br /><br />清理所有软件缓存<br /><br />    * sudo apt-get clean<br /><br />删除系统不再使用的孤立软件<br /><br />    * sudo apt-get autoremove<br /><br />查看包在服务器上面的地址<br /><br />    * apt-get -qq --print-uris install ssh | cut -d' -f2<br /><br /><span style="font-size: medium"><span style="color: darkred">系统</span></span><br /><br />查看内核<br /><br />    * uname -a<br /><br />查看Ubuntu版本<br /><br />    * cat /etc/issue<br /><br />查看内核加载的模块<br /><br />    * lsmod<br /><br />查看PCI设备<br /><br />    * lspci<br /><br />查看USB设备<br /><br />    * lsusb<br /><br />查看网卡状态<br /><br />    * sudo ethtool eth0<br /><br />查看CPU信息<br /><br />    * cat /proc/cpuinfo<br /><br />显示当前硬件信息<br /><br />    * lshw<br /><br /><br /><span style="font-size: medium"><span style="color: darkred">硬盘</span></span><br /><br />查看硬盘的分区<br /><br />    * sudo fdisk -l<br /><br />查看IDE硬盘信息<br /><br />    * sudo hdparm -i /dev/hda<br /><br />查看STAT硬盘信息<br /><br />    * sudo hdparm -I /dev/sda<br />      或<br />      sudo apt-get install blktool<br />      sudo blktool /dev/sda id<br /><br />查看硬盘剩余空间<br /><br />    * df -h<br />      df -H<br /><br />查看目录占用空间<br /><br />    * du -hs 目录名<br /><br />优盘没法卸载<br /><br />    * sync<br />      fuser -km /media/usbdisk<br /><br /><span style="font-size: medium"><span style="color: darkred">内存</span></span><br /><br />查看当前的内存使用情况<br /><br />    * free -m<br /><br />进程<br /><br />查看当前有哪些进程<br /><br />    * ps -A<br /><br />中止一个进程<br /><br />    * kill 进程号(就是ps -A中的第一列的数字)<br />      或者 killall 进程名<br /><br />强制中止一个进程(在上面进程中止不成功的时候使用)<br /><br />    * kill -9 进程号<br />      或者 killall -9 进程名<br /><br />图形方式中止一个程序<br /><br />    * xkill 出现骷髅标志的鼠标，点击需要中止的程序即可<br /><br />查看当前进程的实时状况<br /><br />    * top<br /><br />查看进程打开的文件<br /><br />    * lsof -p<br /><br /><span style="font-size: medium"><span style="color: darkred">ADSL</span></span><br /><br />配置 ADSL<br /><br />    * sudo pppoeconf<br /><br />ADSL手工拨号<br /><br />    * sudo pon dsl-provider<br /><br />激活 ADSL<br /><br />    * sudo /etc/ppp/pppoe_on_boot<br /><br />断开 ADSL<br /><br />    * sudo poff<br /><br />查看拨号日志<br /><br />    * sudo plog<br /><br />如何设置动态域名<br /><br />    * #首先去 http://www.3322.org 申请一个动态域名<br />      #然后修改 /etc/ppp/ip-up 增加拨号时更新域名指令<br />      sudo vim /etc/ppp/ip-up<br />      #在最后增加如下行<br />      w3m -no-cookie -dump 'http://username:password@members.3322.org/dyndns/update?system=dyndns&hostname=yourdns.3322.org'<br /><br /><span style="font-size: medium"><span style="color: darkred">网络</span></span><br /><br />根据IP查网卡地址<br /><br />    * arping IP地址<br /><br />查看当前IP地址<br /><br />    * ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}'<br /><br />查看当前外网的IP地址<br /><br />    * w3m -no-cookie -dump www.ip138.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'<br />      w3m -no-cookie -dump www.123cha.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'<br />      w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'<br /><br />查看当前监听80端口的程序<br /><br />    * lsof -i :80<br /><br />查看当前网卡的物理地址<br /><br />    * arp -a | awk '{print $4}'<br />      ifconfig eth0 | head -1 | awk '{print $5}'<br /><br />立即让网络支持nat<br /><br />    * echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward<br />      sudo iptables -t nat -I POSTROUTING -j MASQUERADE<br /><br />查看路由信息<br /><br />    * netstat -rn<br />      sudo route -n<br /><br />手工增加删除一条路由<br /><br />    * sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1<br />      sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1<br /><br />修改网卡MAC地址的方法<br /><br />    * sudo ifconfig eth0 down #关闭网卡<br />      sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址<br />      sudo ifconfig eth0 up #然后启动网卡<br /><br />统计当前IP连接的个数<br /><br />    * netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n<br />      netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n<br /><br />统计当前20000个IP包中大于100个IP包的IP地址<br /><br />    * tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk ' $1 > 100 '<br /><br />屏蔽IPV6<br /><br />    * echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6<br /><br /><span style="font-size: medium"><span style="color: darkred">服务</span></span><br /><br />添加一个服务<br /><br />    * sudo update-rc.d 服务名 defaults 99<br /><br />删除一个服务<br /><br />    * sudo update-rc.d 服务名 remove<br /><br />临时重启一个服务<br /><br />    * /etc/init.d/服务名 restart<br /><br />临时关闭一个服务<br /><br />    * /etc/init.d/服务名 stop<br /><br />临时启动一个服务<br /><br />    * /etc/init.d/服务名 start<br /><br /><span style="font-size: medium"><span style="color: darkred">设置</span></span><br /><br />配置默认Java使用哪个<br /><br />    * sudo update-alternatives --config java<br /><br />修改用户资料<br /><br />    * sudo chfn userid<br /><br />给apt设置代理<br /><br />    * export http_proxy=http://xx.xx.xx.xx:xxx<br /><br />修改系统登录信息<br /><br />    * sudo vim /etc/motd<br /><br /><span style="font-size: medium"><span style="color: darkred">中文</span></span><br /><br />转换文件名由GBK为UTF8<br /><br />    * sudo apt-get install convmv<br />      convmv -r -f cp936 -t utf8 --notest --nosmart *<br /><br />批量转换src目录下的所有文件内容由GBK到UTF8<br /><br />    * find src -type d -exec mkdir -p utf8/{} ;<br />      find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ;<br />      mv utf8/* src<br />      rm -fr utf8<br /><br />转换文件内容由GBK到UTF8<br /><br />    * iconv -f gbk -t utf8 $i > newfile<br /><br />转换 mp3 标签编码<br /><br />    * sudo apt-get install python-mutagen<br />      find . -iname “*.mp3” -execdir mid3iconv -e GBK {} ;<br /><br />控制台下显示中文<br /><br />    * sudo apt-get install zhcon<br />      使用时，输入zhcon即可<br /><br /><span style="font-size: medium"><span style="color: darkred">文件</span></span><br /><br />快速查找某个文件<br /><br />    * whereis filename<br />    * find 目录 -name 文件名<br /><br />查看文件类型<br /><br />    * file filename<br /><br />显示xxx文件倒数6行的内容<br /><br />    * tail -n 6 xxx<br /><br />让tail不停地读地最新的内容<br /><br />    * tail -n 10 -f /var/log/apache2/access.log<br /><br />查看文件中间的第五行（含）到第10行（含）的内容<br /><br />    * sed -n '5,10p' /var/log/apache2/access.log<br /><br />查找包含xxx字符串的文件<br /><br />    * grep -l -r xxx .<br /><br />查找关于xxx的命令<br /><br />    * apropos xxx<br />      man -k xxx<br /><br />通过ssh传输文件<br /><br />    * scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上<br />      scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地<br /><br />查看某个文件被哪些应用程序读写<br /><br />    * lsof 文件名<br /><br />把所有文件的后辍由rm改为rmvb<br /><br />    * rename 's/.rm$/.rmvb/' *<br /><br />把所有文件名中的大写改为小写<br /><br />    * rename 'tr/A-Z/a-z/' *<br /><br />删除特殊文件名的文件，如文件名：--help.txt<br /><br />    * rm -- --help.txt 或者 rm ./--help.txt<br /><br />查看当前目录的子目录<br /><br />    * ls -d */. 或 echo */.<br /><br />将当前目录下最近30天访问过的文件移动到上级back目录<br /><br />    * find . -type f -atime -30 -exec mv {} ../back ;<br /><br />将当前目录下最近2小时到8小时之内的文件显示出来<br /><br />    * find . -mmin +120 -mmin -480 -exec more {} ;<br /><br />删除修改时间在30天之前的所有文件<br /><br />    * find . -type f -mtime +30 -mtime -3600 -exec rm {} ;<br /><br />查找guest用户的以avi或者rm结尾的文件并删除掉<br /><br />    * find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} ;<br /><br />查找的不以java和xml结尾,并7天没有使用的文件删除掉<br /><br />    * find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} ;<br /><br />统计当前文件个数<br /><br />    * ls /usr/bin|wc -w<br /><br />统计当前目录个数<br /><br />    * ls -l /usr/bin|grep ^d|wc -l<br /><br />显示当前目录下2006-01-01的文件名<br /><br />    * ls -l |grep 2006-01-01 |awk '{print $8}'<br /><br /><span style="font-size: medium"><span style="color: darkred">压缩</span></span><br /><br />解压缩 xxx.tar.gz<br /><br />    * tar -zxvf xxx.tar.gz<br /><br />解压缩 xxx.tar.bz2<br /><br />    * tar -jxvf xxx.tar.bz2<br /><br />压缩aaa bbb目录为xxx.tar.gz<br /><br />    * tar -zcvf xxx.tar.gz aaa bbb<br /><br />压缩aaa bbb目录为xxx.tar.bz2<br /><br />    * tar -jcvf xxx.tar.bz2 aaa bbb<br /><br />Nautilus<br /><br />显示隐藏文件<br /><br />    * Ctrl+h<br /><br />显示地址栏<br /><br />    * Ctrl+l<br /><br />特殊 URI 地址<br /><br />    * * computer:/// - 全部挂载的设备和网络<br />      * network:/// - 浏览可用的网络<br />      * burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录<br />      * smb:/// - 可用的 windows/samba 网络资源<br />      * x-nautilus-desktop:/// - 桌面项目和图标<br />      * file:/// - 本地文件<br />      * trash:/// - 本地回收站目录<br />      * ftp:// - FTP 文件夹<br />      * ssh:// - SSH 文件夹<br />      * fonts:/// - 字体文件夹，可将字体文件拖到此处以完成安装<br />      * themes:/// - 系统主题文件夹<br /><br />查看已安装字体<br /><br />    * 在nautilus的地址栏里输入”fonts:///“，就可以查看本机所有的fonts<br /><br /><span style="font-size: medium"><span style="color: darkred">程序</span></span><br /><br />详细显示程序的运行信息<br /><br />    * strace -f -F -o outfile &lt;cmd><br /><br /><span style="font-size: medium"><span style="color: darkred">日期和时间</span></span><br /><br />设置日期<br /><br />    * #date -s mm/dd/yy<br /><br />设置时间<br /><br />    * #date -s HH:MM<br /><br />将时间写入CMOS<br /><br />    * hwclock --systohc<br /><br />读取CMOS时间<br /><br />    * hwclock --hctosys<br /><br />从服务器上同步时间<br /><br />    * sudo ntpdate time.nist.gov<br />      sudo ntpdate time.windows.com<br /><br /><span style="font-size: medium"><span style="color: darkred">控制台</span></span><br /><br />不同控制台间切换<br /><br />    * Ctrl + ALT + ←<br />      Ctrl + ALT + →<br /><br />指定控制台切换<br /><br />    * Ctrl + ALT + Fn(n:1~7)<br /><br />控制台下滚屏<br /><br />    * SHIFT + pageUp/pageDown<br /><br />控制台抓图<br /><br />    * setterm -dump n(n:1~7)<br /><br /><span style="font-size: medium"><span style="color: darkred">数据库</span></span><br /><br />mysql的数据库存放在地方<br /><br />    * /var/lib/mysql<br /><br />从mysql中导出和导入数据<br /><br />    * mysqldump 数据库名 > 文件名 #导出数据库<br />      mysqladmin create 数据库名 #建立数据库<br />      mysql 数据库名 &lt; 文件名 #导入数据库<br /><br />忘了mysql的root口令怎么办<br /><br />    * sudo /etc/init.d/mysql stop<br />      sudo mysqld_safe --skip-grant-tables &<br />      sudo mysqladmin -u user password 'newpassword''<br />      sudo mysqladmin flush-privileges<br /><br />修改mysql的root口令<br /><br />    * sudo mysqladmin -uroot -p password '你的新密码'<br /><br /><span style="font-size: medium"><span style="color: darkred">其它</span></span><br /><br />下载网站文档<br /><br />    * wget -r -p -np -k http://www.21cn.com<br />      · -r：在本机建立服务器端目录结构；<br />      · -p: 下载显示HTML文件的所有图片；<br />      · -np：只下载目标站点指定目录及其子目录的内容；<br />      · -k: 转换非相对链接为相对链接。<br /><br />如何删除Totem电影播放机的播放历史记录<br /><br />    * rm ~/.recently-used<br /><br />如何更换gnome程序的快捷键<br /><br />    * 点击菜单，鼠标停留在某条菜单上，键盘输入任意你所需要的键，可以是组合键，会立即生效；<br />      如果要清除该快捷键，请使用backspace<br /><br />vim 如何显示彩色字符<br /><br />    * sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc<br /><br />如何在命令行删除在会话设置的启动程序<br /><br />    * cd ~/.config/autostart<br />      rm 需要删除启动程序<br /><br />如何提高wine的反应速度<br /><br />    * sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/232929#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 26 Aug 2008 17:28:41 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/232929</link>
        <guid>http://koda.javaeye.com/blog/232929</guid>
      </item>
      <item>
        <title>Magento主题如何工作</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/230880" style="color:red;">http://koda.javaeye.com/blog/230880</a>&nbsp;
          发表时间: 2008年08月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="wrapper">
<div class="main two-col-set">
<div class="col-main design-guide" id="content">
<div class="entry"><!--   post_start-->
<p>在这章我们将详细讲述Magento如何使用主题，如果创建和管理自己的主题:</p>
<ul class="disc">
<li><a href="#head-how-magento-does-theme">Magento的主题和其他系统有什么区别</a>
 
</li>
<li><a href="#head-how-to-create-a-theme">怎样创建一个主题</a>
 
</li>
<li><a href="#head-how-to-assign-a-theme">怎样给店铺分配接口和主题</a>
 
</li>
<li><a href="#head-say-hello-to-multiple">多主题应用入门</a>
 
</li>
<li><a href="#head-hierarchy-of-themes">主题的结构层次：Magento怎么处理多主题</a>
 
</li>
</ul>
<br />
<h3 id="head-how-magento-does-theme">Magento的主题和其他系统有什么区别</h3>
<p>术语&lsquo;主题theme&rsquo;可能听起来是一个熟悉的名字，对于主题使用者和创建者，可能有过设置web应用主题的经历。主题有两大类用户：使用者和创建者。使用者就是那些从审美和可用性角度来看主题的人，而创建者就是是那些从参与创建的角度看待主题的人。 
</p>
<p>对于第一种用户，店铺应该有能力提供他们灵活设置让他们满意的设计的要求。对于第二种用户(主题创建者)，他们必须能够容易地完成满足店铺要求的店铺设计开发任务。我们认为满足两种用户的需要才是觉得店铺的最终收益，因此两类用户的体验都不能忽略。</p>
<p>因为我们知道作为设计者，你已经制作好了所有的图形化页面素材，Magento接下来将帮助你构建<strong> 
超乎想象的主题管理，最大化你的工作效率并把你的创造力带到一个全新的境界。</strong>
 赶快来体验吧:</p>
<ol class="decimal">
<li style="margin-bottom: 12px;"><strong>最大化定制能力</strong>
<br />
用Magento你能在分类、产品级更新店铺的外观，可以带来无穷无尽的个性化设计，实施任何你想要得促销、市场策划的能力。你设想过定制每个产品的能力吗？那我告诉你，Magento可以为每个产品，每个分类定制样式。 
</li>
<li style="margin-bottom: 12px;"><strong>多主题</strong>
<br />
Magento可以同时装载多个主题，允许你在默认店铺设计和临时（季节性销售等）设计间切换 
&mdash; 所有的操作都是非常简单。 
</li>
<li style="margin-bottom: 12px;"><strong>不间断工作</strong>
<br />
Magento完全面向对象编程，所有模块经由模板文件的标签必须立即存取。并且因为特性丰富，你不必依赖程序员来完成简单的工作。 
Magento也依靠社区的成员（包括Magento官方）成长壮大，积累知识库, 所以你不必重复发明轮子。 
</li>
<li style="margin-bottom: 12px;"><strong>最小化调试时间</strong>
<br />
通过校验工具设计者能减少浪费在标签检查等上面的宝贵时间。校验工具可能告诉你什么是错的，但是他从来不告诉你错误发生在哪里。Magento的模块化的机制使用模块化的模板机制最小化(X)HTML的数量，这样你就可以把精力更多放在真正最重要的地方。</li>
</ol>
<br />
<p>真正地，Magento最好的部分是它提供了真正的灵活性。在这里，你可以不受到限制的发挥你的聪明才智而不会受到应用程序的限制。</p>
<h3 id="head-how-to-create-a-theme">怎样创建一个主题</h3>
<p>首先让我们打开Magento目录下的两个子目录:</p>
<ul class="disc">
<li><strong>目录1:</strong>
 <code>app/design/frontend/default/default/</code>
 &mdash; 
这个目录包含布局(layout), 翻译文件(locale) 和模板. 
</li>
<li><strong>目录2:</strong>
 <code>skin/frontend/default/default/</code>
 &mdash; 
这个目录包含图片，CSS和基于块的Javascripts. </li>
</ul>
<br />
<p>这两个目录作为开发主题的起点。<br />
你可能注意到，我们把主题文件分成了两部分。通过这样的分离我们可以看出Magento为你的店铺在每一个角落都考虑到了安全问题。</p>
<p>让我继续检查这两个目录.乍看你会注意到在前面目录的子目录&ldquo;<code>default/default</code>
&rdquo;:</p>
<ul class="disc">
<li><strong>目录1:</strong>
 <code>app/design/frontend/<strong style="background: #f9d6f1 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">default</strong>
/<strong style="background: #afedf1 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">default</strong>
/</code>
 
</li>
<li><strong>目录2:</strong>
 <code>skin/frontend/<strong style="background: #f9d6f1 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">default</strong>
/<strong style="background: #afedf1 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">default</strong>
/</code>
</li>
</ul>
<br />
<p>在两种情况下，<strong style="background: #f9d6f1 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><big>*</big>
</strong>
 
表示<em>接口(interface)</em>
名字, <strong style="background: #afedf1 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><big>*</big>
</strong>
 
表示<em>主题(theme)</em>
名. 
所以，如果你正在一个叫&ldquo;<code>my_interface</code>
&rdquo;的接口里写一个叫&ldquo;<code>my_theme</code>
&rdquo; 的主题, 
你应该工作在&lsquo;<code>app/design/frontend/my_interface/my_theme/</code>
&rsquo;目录下.</p>
<p>你可以在接口目录下放任意多的主题，但是在写这篇文章的时候，你的店铺仅仅能调用名字叫'default'的主题并且一个额外选到你店铺的主题 (<span style="color: #666666;"><strong>注意：</strong>
 
在将来的版本中Magento将具备分配无限数量主题的功能。</span>
) 为了学习Magento怎么一次性装载多个主体，阅读<a href="#head-hierarchy-of-themes">主题的结构层次</a>
) 
有两个主题，你可以使用默认的主题作为淡季时的设计，而额外的主题则用于旺季时和为了某个营销事件而应用(要知道多主题怎么工作和它有什么好处，请阅读<a href="#head-say-hello-to-multiple">多主题应用入门</a>
).</p>
<h4>创建默认主题</h4>
<p>为了创建一个新的默认主题，首先你必须复制存在的默认主题做为工作的基础。复制<code> 
app/design/frontend/default/default/</code>
 
到新的目录，更改为你想要得名字(接口和主题的名字应该是字母数字的组合并且用字母开头。例如：&lsquo;My New Theme&rsquo; 和 
&lsquo;02123_my_theme&rsquo;就不好，而 &lsquo;my_new_theme&rsquo;不错). 
你的应用程序就是靠主题目录的名字识别主题。现在按照同样的方法复制<code>skin/frontend/default/default</code>
. 
这样，你就成功地创建了一个新的默认的主题。为了学习怎样把主题指派给店铺，请阅读下面章节<a href="#head-how-to-assign-a-theme">指派一个新的主题</a>
.</p>
<h4>创建非默认主题</h4>
<p style="margin: 0pt 0pt 13px 13px; float: right; width: 167px;"><small>图1</small>
<br />
<img src="http://www.magentocommerce.com/images/uploads/preserver_structure2.gif" alt="" style="border: 1px solid #cecece; padding: 0pt;" />
<br />
<img src="working-with-magento-themes_files/preserver_structure2.gif" alt="" style="border: 1px solid #cecece; padding: 0pt;" />
</p>
<p>当创建一个新的非默认的主题时，你不必复制存在的默认主题目录。你只要复制那些你想要修改的文件就可以了。记住一个规则，你必须保持Magento的主题文件目录结构。例如，如果所有非默认主题在catalogo模块下都有一个文件名字叫&lsquo;home.phtml&rsquo;，在<code>app/design/frontend/your_interface/your_non_default_theme/</code>
目录你将需要创建一个子目录叫&lsquo;<code>template/catalog</code>
&rsquo;存放该文件。当你打开默认Magento主题目录(图1),可以看到目录结构&mdash;&mdash;确保新的主题有同样的结构。</p>
<h4 id="head-how-to-assign-a-theme">给店铺指派接口(interface)和主题(theme)</h4>
<p>现在你已经创建了你自己的主题(不管是默认还是非默认的), 
接下来要把它指派给你的站点/店铺使之生效。进入Magento后台管理界面(如www.mydomain.com/<strong>admin</strong>
), 
然后进入Design配置页(System -&gt; Configuration -&gt; Design页).</p>
<p class="a-center"><br />
<img src="http://www.magentocommerce.com/images/uploads/admin_design_tab.gif" alt="image" />
<br />
<img src="working-with-magento-themes_files/admin_design_tab.gif" alt="image" />
</p>
<p>在图2左上角，可以看到一个下拉框标签为&lsquo;Current Configuration Scope&rsquo;.</p>
<ul class="disc">
<li>为了<strong>管理站点级别的设计</strong>
, 从下拉框中选择站点的名字，然后操作下面的步骤。 
</li>
<li>为了<strong>管理店铺级别的设置</strong>
, 从下拉框中选择店铺的名字，然后操作下面的步骤。 </li>
</ul>
<br />
<a name="assign-theme-step1"></a>
<p><strong>步骤 1</strong>
<br />
从设计(Design)页, 在<em>Current package name</em>
, 
输入接口(interface)名. 如果什么都不填，Magento将自动装载名字叫&lsquo;default&rsquo;的接口。</p>
<p><strong>步骤 2</strong>
<br />
在<em>Default</em>
 (在标题Themes处), 
输入你想装载到站点/店铺的主题名字。如果你什么都不填写, 
Magento将自动装载名字叫&lsquo;default&rsquo;的主题(记住:不管你怎么配置Design页，Magento都将自动装载名字叫&lsquo;default&rsquo;的主题.如果你在后台指派一个主题，那么它将优先被装载，但是名字叫&lsquo;default&rsquo;的主题仍然被一同装载。在将来版本中这个策略可能被改变, 
不管怎样，目标都是让你能完全控制装载到店铺的主题). 你可以单独装载主题的某部分，这完全依赖于文件类型( (布局layout, 模板templates, 
皮肤skin 或者translation文件), 相应处输入主题的名字就可以可以使他们生效。</p>
<p><strong>步骤 3</strong>
<br />
当你做完这些, 点击按钮&ldquo;<em>Save config</em>
&rdquo; 然后重新装装载你的店铺&ndash; 怎么样! 
是不是在前端看到了新的主题。</p>
<p>现在我们已经知道如何创建和管理主题，接下来我们要学习Magento是怎么处理这些主题的。</p>
<h3 id="head-say-hello-to-multiple">多主题应用入门</h3>
<p style="color: #666666;"><strong>注意:</strong>
 
不限数目的主题的功能在未来的版本中将被支持。尽管现在仅仅能装载两个主题，实际在Magento内部工作机制是一样的。</p>
<p>假日常常给网上商店提供更广阔的机会 &mdash; 
客户排队为他们的家人和朋友购买圣诞礼物，妈妈排队为他们的孩子买万圣节服装。为了鼓励顾客光顾你的店铺，你必须仔细调整店铺设计以适应季节性要求。像图3所示的店铺没有在圣诞节装饰 
&ndash; 其实这时的店铺可能就需要一点点红色的喜气，一点雪花和圣诞老人的形象 &ndash; 如图4做的就比较好!</p>
<div class="col2-set">
<p class="col-1">&nbsp;</p>
<div class="col2-set">
<p class="col-1">
图<small>3. 未经过裁减的</small>
<br />
<a href="http://www.magentocommerce.com/images/uploads/theme_usual.jpg"><img src="http://www.magentocommerce.com/images/uploads/theme_usual.jpg" alt="" style="border: 1px solid #cecece; padding: 0pt;" width="300" />
</a>
</p>
<p class="col-2">
图4: 裁减过的设计<br />
<a href="http://www.magentocommerce.com/images/uploads/theme_christmas.jpg"><img src="http://www.magentocommerce.com/images/uploads/theme_christmas.jpg" alt="" style="border: 1px solid #cecece; padding: 0pt;" width="300" />
</a>
</p>
</div>
</div>
<br />
<p>用Magento, 
我们已经为店铺创建多个主题便于在需要的时候应用。通过装载多个主题到你的店铺，你可以保留非季节性的店铺设计，而在圣诞节等节日增强店铺设计。</p>
<p>在考察一下上面的例子，你会发现两个设计的相似性。仅仅的差别是一点CSS、几个图片和模板文件文字的改变。因为这个改变不大，所以你不必改变整个默认的主题来适应圣诞节的需要。你需要做的就是几个文件的替换，就使你的店铺变得有趣。</p>
<p>Magento通过分配一个叫<em>hierarchy</em>
的概念装载多主题，通过它可以装层次(hierarchy)里最优先的主题。这个层次在后台Design配置页设置。 
</p>
<h3 id="head-hierarchy-of-themes">主题的层次</h3>
<p>当你使用多主题到你的店铺时, 
实际上你已经用到了这个层次的好处。创建主题是为了生成令人喜爱的图形接口，那么<em>Magento</em>
的目标就是确保应用能够定位和正确无误地装载要求的主题。</p>
<p>例如，如果你的种类列表页调用一个叫'view.phtml'的模板(这样该模板文件就是一个必要的文件), 
但是应用在是不能在最高的主题层次中找到这个文件的。(<span style="color: #666666;"><strong>注意：</strong>
 
在写这篇文档的时候，主题最优先层次是通过后台分配的，并且层次中优先级最低的主题叫'default'，Magento会自动把它装载到店铺。在未来的版本中，Magento将提供给你完全控制主体层次的能力。</span>
), 
它将去下一个主题最高层次中查找该文件。如果失败，它将继续在主题层次结构中查找指导定位&lsquo;view.phtml&rsquo;, 
一旦找到，它将把它装载到店铺然后中止查找。这种构造设计的方法被叫做<em>回退(fallbacks)</em>
, 因为应用&lsquo;回退(falls 
back)&rsquo;到下一个可能的地方去检索和装载它。 </p>
<p>假设你有三个主题分配到店铺并且每一个包含下面的文件:</p>
<small>Table 1</small>
<br />

<table class="grid" cellspacing="0" border="1" width="548" cellpadding="0" style="height: 108px;">
<tbody>
<tr>
<th>default</th>
<th>my_theme_1</th>
<th>my_theme_2</th>

</tr>
<tr>
<td>All required files</td>
<td>templates/3-col-layout.phtml</td>
<td>templates/3-col-ayout.phtml</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>templates/header.phtml</td>
<td>css/base.css</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>images/logo.gif </td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>css/base.css</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>css/boxes.css</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<br />
<p>让我们也假设这三个主题按照如下层次被指派:</p>
<small>Table 2</small>
<br />

<table class="grid" cellspacing="0" border="1" cellpadding="0">
<tbody>
<tr>
<th>HIGHEST</th>
<td>my_theme_2</td>
</tr>
<tr>
<th>&nbsp;</th>
<td>my_theme_1</td>
</tr>
<tr>
<th>LOWEST</th>
<td>default</td>
</tr>
</tbody>
</table>
<br />
<p>仔细观察，在表1有几个冗余的文件如<code>templates/3-col-layout.phtml</code>
和<code>css/base.css</code>
. 
现在让我们重新排表格让这些冗余文件在主题之间平信排列。</p>
<small>表3</small>
<br />

<table class="grid" cellspacing="0" border="1" cellpadding="0">
<tbody>
<tr>
<th>default</th>
<th>my_theme_1</th>
<th>my_theme_2</th>

</tr>
<tr>
<td>所有要求的文件</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>templates/3-col-layout.phtml</td>
<td>templates/3-col-layout.phtml</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>templates/header.phtml</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>images/logo.gif </td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>css/base.css</td>
<td>css/base.css</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>css/boxes.css</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<br />
<p>&lsquo;Ok, 太好了.但是这意味着什么？&rsquo; 你可能会问.<br />
好, 
让我提醒你，表3的那些文件是你怎么看这些文件，而不是<em>Magento</em>
怎么看它.</p>
<p>表4告诉你<em>Magento</em>
怎样看待这些文件的装载.</p>
<small>Table 4</small>
<br />

<table class="grid" cellspacing="0" border="1" cellpadding="0">
<tbody>
<tr>
<th>default</th>
<th>my_theme_1</th>
<th>my_theme_2</th>

</tr>
<tr>
<td>All required files</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>templates/3-col-layout.phtml</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>templates/header.phtml</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>images/logo.gif </td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>css/base.css</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>css/boxes.css</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<br />
<p>看到了吗？Magento是怎样忽略层次里那些冗余文件和仅仅识别层次里更高版本的文件的。这是因为当它发现要求的文件就中止查找层次中该文件而继续查找还没有发现的文件。</p>
<br />
<p class="accent">:: <strong>在这章，你学到了怎么创建和管理主题。</strong>
 
下一章，我们将要一步一步学习怎样创建一个主题。你也将学习导布局(layouts),模板(templates)和皮肤(skins) - 
在进入下一章之前确保你已经熟知乐那些术语<a href="http://www.magentocommerce.com/design_guide/articles/magento-design-terminologies4">Magento设计术语</a>
 
章节.</p>
<br />
<div class="marginpad">
<div class="topic_nav_left"><a href="http://www.magentocommerce.com/design_guide/articles/magento-design-terminologies4">Magento 
设计术语</a>
 </div>
<div class="topic_nav_right"><a href="http://www.magentocommerce.com/design_guide/articles/how-magento-builds-content">创建你自己的主题</a>
 
</div>
</div>
<!--   post_end--></div>
<!--   
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
    rdf:about="http://www.magentocommerce.com/design_guide/working-with-magento-themes/"
    trackback:ping="http://www.magentocommerce.com/trackback/833/"
    dc:title="Working with Magento Themes"
    dc:identifier="http://www.magentocommerce.com/design_guide/833/"
    dc:subject=""
    dc:description=""
    dc:creator="ohminu"
    dc:date="2007-12-18 09:34:00 PM GMT" />
</rdf:RDF>
--></div>
</div>
<br />
</div>
<p>
<script type="text/javascript"><!-- 
 
  var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;);
  document.write(unescape(&quot;%3Cscript src='&quot; + gaJsHost + &quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&quot;));
// --></script>
<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
<script src="working-with-magento-themes_files/ga.js" type="text/javascript"></script>
<script type="text/javascript"><!-- 
 
  var pageTracker = _gat._getTracker(&quot;UA-165362-7&quot;);
  pageTracker._initData();
  pageTracker._trackPageview();
// --></script>
<script type="text/javascript"><!-- 
 
	if(document.getElementById('a_varien')) document.getElementById('a_varien').target = &quot;varien_external&quot;;
	if(document.getElementById('a_zend')) document.getElementById('a_zend').target = &quot;zend_external&quot;;
	if(document.getElementById('a_varien')) document.getElementById('a_varien').target = &quot;varien_external&quot;;
// --></script>
</p>
<div id="lbCenter" style="display: none; margin-left: -125px; width: 250px; height: 250px;">
<div id="lbImage"><a href="#" id="lbPrevLink" style="display: none;"></a>
<a href="#" id="lbNextLink" style="display: none;"></a>
</div>
</div>
<div id="lbBottomContainer" style="display: none;">
<div id="lbBottom"><a href="#" id="lbCloseLink"></a>

</div>
</div>
<div id="lbCenter" style="display: none; margin-left: -125px; width: 250px; height: 250px;">
<div id="lbImage"><a href="#" id="lbPrevLink" style="display: none;"></a>
<a href="#" id="lbNextLink" style="display: none;"></a>
</div>
</div>
<div id="lbBottomContainer" style="display: none;">
<div id="lbBottom"><a href="#" id="lbCloseLink"></a>

</div>
</div>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/230880#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 20 Aug 2008 23:14:44 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/230880</link>
        <guid>http://koda.javaeye.com/blog/230880</guid>
      </item>
      <item>
        <title>雨花台烈士陵园的阴魂</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/229920" style="color:red;">http://koda.javaeye.com/blog/229920</a>&nbsp;
          发表时间: 2008年08月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>零八年三月底，我去拜访南京江宁的老同学，同学和老公结婚两载不到，因为都不是本地人，所以亲戚朋友不断有访。</p>
<p>&nbsp;</p>
<p>那天 ， 同学说起了一次雨花台游玩经历。</p>
<p>就在我来之前不久，同学的小侄子，约摸十来岁来家做客，带他到雨花台去玩。</p>
<p>也算是老南京了，同学和老公对地形都熟，就翻了后山进入陵园，没买门票。</p>
<p>玉树苍苍，想那树根下不知埋了多少冤魂。既来祭奠，也来散心，买了些雨花石，傍晚，带着兴高采烈的小侄子回了家。</p>
<p>&nbsp;</p>
<p>吃过晚饭，小侄子要洗澡，当他解开上衣扣子时，同学老公发现了不对劲，小侄子胸前分明一个清晰的青手掌印。</p>
<p>&nbsp;</p>
<p>同学夫妻俩人大吃一惊，就问：谁打你了？小侄子说：没有人打啊！ 是啊，白天一整天他们都在一起。空气像凝固了样，他们都觉得不对劲了。愣过神来赶快让他去洗澡，可是任他怎么洗，掌印依然留在那里。</p>
<p>第二天，孩子就生了病，虽说是小毛病可总有些想法，大家没有办法，只能耗着时间，差不多一个星期，掌印才慢慢褪去。</p>
<p>&nbsp;</p>
<p>这事没找通灵的算过，但是大家都笃定：那一定是陵园的冤魂拍的一掌，看来雨花台的冤屈未了啊。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/229920#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 18 Aug 2008 19:59:24 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/229920</link>
        <guid>http://koda.javaeye.com/blog/229920</guid>
      </item>
      <item>
        <title>8个国外最流行的PHP ASP开源论坛系统</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/229053" style="color:red;">http://koda.javaeye.com/blog/229053</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>phpBB
最流行的开源论坛软件，phpBB能够通过mods设置，你能定制你的论坛。Vanilla 是一个轻量级开源论坛，是Mark O&rsquo;Sullivan
使用 PHP and MySQL 开发的. Vanilla 能够加载扩展，你同样能通过扩展定制你的论坛。 </p>
<p>&nbsp;</p>
<p>推荐8个国外最流行使用比较广泛的开源论坛。</p>
<div>
<ul>
<li><a href="http://www.phpbb.com/" title="PHPBB" target="_blank"><img class="alignnone size-full wp-image-241" title="phpbb" src="http://www.kuqin.com/upimg/allimg/080617/2022490.jpg" height="62" alt="" width="161" />
</a>
 - </li>
</ul>
</div>
<p>&nbsp;phpBB 最流行的开源论坛软件，phpBB能够通过mods设置，你能定制你的论坛。你想要详细了解 500个不同的mods，浏览这里： <a href="http://phpbb-fm.com/support/index_fm.php" title="fully modded phpBB" target="_blank">here</a>
. </p>
<ul>
<li><a href="http://getvanilla.com/" title="Get Vanilla" target="_blank"><img class="alignnone size-full wp-image-242" title="vanilla" src="http://www.kuqin.com/upimg/allimg/080617/2022491.jpg" height="50" alt="" width="223" />
</a>
 </li>
</ul>
<p>- Vanilla 是一个轻量级开源论坛，是Mark O&rsquo;Sullivan 使用 PHP and MySQL 开发的. Vanilla 能够加载扩展，你同样能通过扩展定制你的论坛。 </p>
<ul>
<li><a href="http://www.yetanotherforum.net/" title="YetAnotherForum" target="_blank"><img class="alignnone size-full wp-image-243" title="YetAnotherForum dot net" src="http://www.kuqin.com/upimg/allimg/080617/2022492.jpg" height="39" alt="" width="260" />
</a>
 </li>
</ul>
<p>- YetAnotherForum.NET 是一个ASP.NET开源论坛，完全使用C# ASP.NET 和 Microsoft SQL Server写的，它支持常用的论坛功能和 WYSIWYG editors. </p>
<ul>
<li><a href="http://www.yabbforum.com/" title="YaBB" target="_blank"><img class="alignnone size-full wp-image-244" title="yaBB" src="http://www.kuqin.com/upimg/allimg/080617/2022493.jpg" height="90" alt="" width="188" />
</a>
 </li>
</ul>
<p>- YaBB 是一个Perl开源论坛，它是最好的Perl论坛，速度非常快。 </p>
<ul>
<li><a href="http://icebb.net/" title="IceBB" target="_blank"><img class="alignnone size-full wp-image-245" title="iceBB" src="http://www.kuqin.com/upimg/allimg/080617/2022494.jpg" height="91" alt="" width="266" />
</a>
 </li>
</ul>
<p>- IceBB 也是一个 PHP and MySQL 的开源论坛， IceBB 还采用了 prototype and scriptaculous 框架，代码和干净，提供RSS feed。 </p>
<ul>
<li><a href="http://www.fahlstad.se/wp-plugins/wp-forum/" title="WP-Forum" target="_blank"><img class="alignnone size-full wp-image-246" title="wp-forum" src="http://www.kuqin.com/upimg/allimg/080617/2022495.jpg" height="26" alt="" width="289" />
</a>
 </li>
</ul>
<p>- WP-Forum 是WordPress的一个简单的讨论论坛插件，有三种主题可以选择。如果你的网站用WordPress架构，这是一个不错的插件。 </p>
<ul>
<li><a href="http://www.minibb.net/" title="miniBB" target="_blank"><img class="alignnone size-full wp-image-247" title="minibb" src="http://webtecker.com/wp-content/uploads/2008/05/minibb.jpg" height="60" alt="" width="134" />
</a>
 </li>
</ul>
<p>- miniBB 是一个轻量级的PHP写的开源论坛，它在phpBB基础上做了优化，也能定制，并且做了SEO(搜索引擎优化) </p>
<ul>
<li><a href="http://www.simplemachines.org/" title="SMF" target="_blank"><img class="alignnone size-full wp-image-249" title="smf1" src="http://www.kuqin.com/upimg/allimg/080617/2022497.jpg" height="45" alt="" width="300" />
</a>
 </li>
</ul>
<p>- SMF 是一个免费专业级别论坛，但是不开源。 </p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/229053#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 23:54:39 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/229053</link>
        <guid>http://koda.javaeye.com/blog/229053</guid>
      </item>
      <item>
        <title>打鱼高手李三广</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/229041" style="color:red;">http://koda.javaeye.com/blog/229041</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>这是八十年代末的事情。</p>
<p>&nbsp;</p>
<p>李三广和外公住一个镇上，而且还是要好的邻居。李三广酷爱打鱼，而且每次都是满载而归。</p>
<p>又是一年下过秋上雨草旺鱼肥的日子，那天一大早，李三广骑着自行车去县城东大河网鱼。</p>
<p>到了后半晌，很多邻居就陆陆续续就聚集到他家里，等他回来，因为通常他打很多，除了留下一点大的自己吃，剩下的都卖给镇上的人。到了晚上六点钟，天已经黑了，按说人该回来了，邻居家的孩子都等不及了。可没还个人影。</p>
<p>&nbsp;</p>
<p>差不多晚上七八点钟的时候，就听到院子里稀里哗啦卸网的声音，人们听到声音都从屋子里冲出来，借着屋子里的灯光，人们看到李三广满头大汗，非常狼狈，鱼网从大门一直拖到到墙根角，鱼筐也没见着，不等人们询问，他就跌跌撞撞奔进屋子里，扑到床上用被子蒙住脑袋。</p>
<p>&nbsp;</p>
<p>所有的人都惊呆了，只有等他平静下来，等了足足半个小时，李三广才缓过神来，这才向人们说起原委：他今天的确打了不少鱼，所以返回的迟，出发时天已经擦黑了，就在经过东大
河桥的时候，突然看到桥头蹲着两个东西，状如黑熊，一动不动，眼睛直盯着他。这时哪还顾得鱼，奔也似地逃，所以回到家时鱼丢网破。说完脸上的恐惧似乎还没退却。</p>
<p>&nbsp;</p>
<p>大家听了之后唏嘘不已，有人怀疑有人笃信。但是李三广后来的变化却是实实在在的，从此他不再打鱼，胆子也变得很小。后来外婆去世了，按说好邻居都要去帮忙打理丧事，但是李三广却带着孩子藏在家里，反锁大门不敢出来，结果只有他的老婆参加了外婆的葬礼。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/229041#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 22:49:12 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/229041</link>
        <guid>http://koda.javaeye.com/blog/229041</guid>
      </item>
      <item>
        <title>早上九点的哭声</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/229035" style="color:red;">http://koda.javaeye.com/blog/229035</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>听了小胖的往事，勾起更多我的往事回忆......</p>
<p>&nbsp;</p>
<p>那还是一次大学的暑假，爸、妈、姐姐和我，都在那个曾给我带来无数欢乐的小院子里照看更年轻的一代&mdash;&mdash;我活泼可爱的小外甥女。小外甥女刚刚三岁，可爱的很。</p>
<p>事情发生在八月的一个的早上，钟声刚刚敲过九下，突然小外甥女站在房间的中央凄厉地哭喊。我们都愣住了，无缘无故地，怎么哄都没用，持续了差不多五分钟才平息下来。之后我们也就没放在心上。</p>
<p>&nbsp;</p>
<p>第二天，仍然是一个阳光明媚的早上，我是被这哭声吵醒的，像昨天一样，小外甥女一样凄厉地哭喊，仍然持续了差不多五分钟，而时间仍然出奇地准，九点钟。</p>
<p>&nbsp;</p>
<p>第
三天，还是九点钟，怎么样，就像各位看官想得一样，同样的时间，同样的事情又发生了，姐姐也吓得大哭，问我妈妈该怎么办。妈妈当然没法子，就去请了田凤儿。
田凤儿是我们村上的半仙，平时都是大家所不齿的，可是现在似乎这也是没有办法的办法。田凤来了，神鬼这东西对他来说好像自己的邻居，就像吃饭睡觉一样平常
不过的事，她看了看孩子，摸摸她说：孩子爸爸的奶奶来看她了（姐夫的奶奶已经过世很久，不知田凤怎么晓得）。 于是遵照她的方法烧烧纸弄弄，之后无事。</p>
<p>&nbsp;</p>
<p>不管怎样，之后孩子再也没有这样哭叫过。也许本身就是巧合，谁知道呢。</p>
<p>&nbsp;</p>
<p>都
说信其有，不信则无。姐夫姐姐都是无神论者，但是姐夫的二哥和母亲却喜欢弄神神鬼鬼的，姐夫比我大两岁，已经走了三年了，走的时候三十岁整，走之前毫无征兆&mdash;&mdash;脑梗死。这在医学上能说得通。只是姐姐一直忌恨婆婆家装神弄鬼的人好好活着，唯一一个大学生就这么命短。这悲伤一直让两家人延续至今。</p>
<p>&nbsp;</p>
<p>故事的主角很可爱，长得像小丸子，大家信吗？因为她就在你的眼前&mdash;&mdash;页面的左上方我的LOGO图片，我门全家都爱她。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/229035#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 22:21:29 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/229035</link>
        <guid>http://koda.javaeye.com/blog/229035</guid>
      </item>
      <item>
        <title>小区里的轿子</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/229027" style="color:red;">http://koda.javaeye.com/blog/229027</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>今天晚上来了两个朋友，其中一个叫小胖，内蒙古人，其相如佛:) (这是后话)。</p>
<p>小胖多才多艺，现在上海嘉定某公司做设计，以前学过厨师，所以今天一桌子菜都是小胖的杰作。</p>
<p>加上室友四个人，席间觥筹交错，好不热闹，真是偷得浮生半日闲。酒至半酣，来的朋友怂恿小胖再说说那段往事......</p>
<p>&nbsp;</p>
<p>往事开始了....</p>
<p>小胖曾在山东常驻过一段时间，住公司租借的普通居民房。</p>
<p>一天晚上，寂寞难耐，小胖就找了个妞，去宾馆偷欢... 如何与那女子缠绵交欢，不得而知。</p>
<p>大家都了解小胖：耿直、生活洒脱、过于不拘一格。扯远了，这与主题无甚关系，搁在一边不说。</p>
<p>差不多凌晨三四点钟，小胖觉得还是应该回去了。于是就穿上衣服赶回宿舍。</p>
<p>宿舍所在的小区离宾馆不算远，很快就到了小区门口，这时，他突然看到一个华丽的场景：</p>
<p>小区里面迎面走来一队古装扮相的人，前头是一台敲锣打鼓的轿子，后面跟着排场的队伍，煞是热闹。</p>
<p>小胖当时有点惊呆了。他非常纳闷儿：这是谁家啊？大半夜举行婚礼，真够新鲜的。</p>
<p>于是就一直站在那看，直看到他们所有的人出了小区门口。忽然...这群队伍在小胖眼前消失了，声音也戛然而止...</p>
<p>&nbsp;</p>
<p>小胖的周围安静一如平常，他以最快的速度跑回宿舍，蒙头到天亮。醒来的时候满脑子还是那个轿子，这时才更惊出一身冷汗。</p>
<p>&nbsp;</p>
<p>往事讲完了，我们桌边的人无不目瞪口呆。</p>
<p>五步之内有神灵，信不信由你!</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----无神论者 蝈蝈龙 于 2000年8月记</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/229027#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 21:53:31 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/229027</link>
        <guid>http://koda.javaeye.com/blog/229027</guid>
      </item>
      <item>
        <title>Magento设计术语</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/228969" style="color:red;">http://koda.javaeye.com/blog/228969</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <!--       post_start-->
<p>为
了更好地学习这篇教程，深刻理解Magento的术语是非常必要的。这些术语对你来说可能是很陌生的，所以得花点时间通读它。但是更重要的是，如果你暂时不
能完全理解这些术语概念不要气馁&mdash;&mdash; 这章只不过是给你一个简要的介绍。接下来的章节将针对每一个术语深入探讨。本节涉及的术语包括：</p>
<p><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-website">站点(Website), 店铺(Store)和店铺展示(Store View)</a>
</p>
<ul class="disc">
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-interface">接口(Interface)</a>
</li>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-themes">主体(Themes)</a>
  
<ul>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-layouts">布局(Layouts)</a>
</li>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-templates">模板</a>
<a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-templates">(Templates)</a>
</li>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-skins">皮肤(Skins)</a>
</li>
</ul>
</li>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-blocks">块(Blocks)</a>
  
<ul>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-structural-blocks">结构块(Structural Blocks)</a>
</li>
<li><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#term-content-blocks">内容块(Content Blocks)</a>
</li>
</ul>
</li>
</ul>
<h3 id="term-website">站点(Website)和店铺(Store)</h3>
<p>站点(website)是店铺(stores)的集合，它们共用相同的客户和订单信息和统一购物车。店铺(store)是店面(store
views)的集合. 总的来说，他们是一个很泛的概念，目的都是为了能满足店主的特殊需要。下面的例子表述了他们之间的关系和区别：</p>
<h5 class="caption">场景1</h5>
<p class="a-center"><img src="http://www.magentocommerce.com/images/uploads/terminology-scenario1.jpg" alt="" style="border: 0pt none;" />
</p>
<p>一个叫Dubloo的公司创建一个站点，包括三个独立的服装店。 每一个迎合不同消费群。Dubloo公司希望三个店铺能共享客户和订单信息，对于这样的场景，Dubloo公司将创建一个站点，并在其下建立三个店铺。每个店铺将分开展示给不同消费群。</p>
<p>&nbsp;</p>
<h5 class="caption">场景 2</h5>
<p class="a-center"><img src="http://www.magentocommerce.com/images/uploads/terminology-website-laptops.jpg" alt="" style="border: 0pt none;" />
</p>
<p>一个叫MyLaptops的公司想开两个独立的站点使用不同的价位来来卖笔记本电脑。他们也希望站点支持英语和西班牙语，而且他们希望每个站点能共
用一套客户和订单信息。对于这样的场景，则需要相应的站点下定义英语和法语店面。站点将定义My Laptops和Cheap Laptops.</p>
<p>&nbsp;</p>
<h5 class="caption">场景 3</h5>
<p class="a-center"><img src="http://www.magentocommerce.com/images/uploads/terminology-scenario3.jpg" alt="" />
</p>
<p>一个叫Bongo's Instruments的公司想创建一个在线购物网，因为没有分店，所以Bongo's Instruments既是店铺也是站点。</p>
<p>&nbsp;</p>
<h3 id="term-interface">接口(Interface)</h3>
<p class="a-center"><img src="http://www.magentocommerce.com/images/uploads/terminology-website-term.jpg" alt="" style="border: 0pt none;" />
</p>
<p>接口(Interface)是主题(Themes)的集合，它用来决定店铺的前端功能和视觉输出。接口可以在站点或者(和)店面上进行分配。 (点击这里学习 <a href="http://www.magentocommerce.com/design_guide/articles/working-with-magento-themes#head-how-to-assign-a-theme">怎样分配接口到站点/店铺</a>
).</p>
<p>如果你在站点级别分配一个接口，所有这个站点下的店铺将继承这个接口。你能进一步在店铺和店面上指定接口，这将覆盖全局站点的设置。例如，你在一个叫John's
Panacea得站点下有四个店铺，通过刚才的学习，你可以容易地根据你的商业需求使你按照想要的方式设置你接口.</p>
<ol class="decimal">
<li>
<h5>
  </h5>
<h5>站点级别的指定</h5>
<p class="a-center"><img src="http://www.magentocommerce.com/images/uploads/terminology-website-level.jpg" alt="" />
</p>
<p>如果你想为所有四个店铺创建一个统一外观，你需要在站点级别分配接口，这样所有四个店铺将继承使用这个接口的外观风格。</p>
</li>
<li>
<h5>店铺级别的指定</h5>
<p class="a-center"><img src="http://www.magentocommerce.com/images/uploads/terminology-store-level.jpg" alt="" />
</p>
<p>如果你想让每一个店铺具备不同的外观和样式，你能在店面上指定接口。这样四个店铺就可以拥有独立样式的自己的接口。</p>
<h3 id="term-themes"><a href="file:///D:/WORK/Untidy/shopping/magento-design-terminologies4.htm#top" class="back-to-top">Back to Top</a>
主题(Themes)</h3>
<p>主题是布局(layout),模板(template),本地化(locale)和(或)皮肤文件的组合，用来创建站点的外观效果。Magento内建了装载多主题的功能，因此首先要区分两大类主题:</p>
</li>
<li style="margin-bottom: 6px;"><strong>默认主题(Default theme</strong>
<strong>)</strong>
<br />
每一个接口都包含一个叫'default'的主题作为一个接口的基本主题。当你分配一个接口到店铺时，应用程序自动地寻找一个叫'default'的主题
装载到前端。为了定制店铺设计，你要么单独修改这个主题，要么创建一个非默认主题和默认主题一起装载。默认主题应该包含必要的布局、模板和皮肤保证运行正
常。看这里 <a href="http://www.magentocommerce.com/design_guide/articles/working-with-magento-themes#head-hierarchy-of-themes">主题结构</a>
了解主题必要文件的要求。</li>
<li style="margin-bottom: 6px;"><strong>非默认主题(Non-default theme</strong>
<strong>)</strong>
<br />
  非默认主题能包含任意适合你需要的主题文件。这类主题是为了创建临时季节性的设计需要而不是让创建整个默认主题。&mdash;比如，通过创建几个图片和CSS，你可以很容易将你的店铺装扮成圣诞节的样子。</li>
</ol>
<p>&nbsp;</p>
<p>一个主题包括下面的任何一个或者所有：</p>
<ul class="disc">
<li id="term-layouts" style="margin-bottom: 6px;"><strong>Layout</strong>
 (位于<code>app/design/frontend/your_interface/your_theme/<strong>layout</strong>
/</code>
)<br />
  这是基本的xml文件用来定义不同页的块结构和控制元(META)数据信息和页面编码。要学习更多关于布局(layouts)的知识, 清阅读<a href="http://www.magentocommerce.com/design_guide/articles/intro-to-layouts">Layout 介绍</a>
</li>
<li id="term-templates" style="margin-bottom: 6px;"><strong>Templates</strong>
 (位于 <code>app/design/frontend/your_interface/your_theme/<strong>template</strong>
/</code>
)<br />
  这是PHTML 文件，包含了(X)HTML标记和用以生成必要商业逻辑的PHP  标记. </li>
<li id="term-templates" style="margin-bottom: 6px;"><strong>Locale</strong>
 (位于<code>app/design/frontend/your_interface/your_theme/<strong>locale</strong>
/</code>
)<br />
   它是按照语言组织的简单的文本文档 ， 包含了店铺所有文字的翻译。</li>
<li id="term-skins" style="margin-bottom: 6px;"><strong>Skins</strong>
 (位于 <code>skin/frontend/your_interface/your_theme/</code>
)<br />
  这是些应用于你的(X)HTML页面的Javascript 和CSS和图片。</li>
</ul>
<h3 id="term-blocks">块(Blocks)</h3>
<p>
       
<small>图 1.结构块 Structural Block (标记为蓝色的)</small>
</p>
<div class="col2-set">
<p class="col-2" style="width: 49%;"><img src="http://www.magentocommerce.com/images/uploads/term-blocks-structural.jpg" alt="" />
<small></small>
</p>
<p class="col-2" style="width: 49%;"><small>图 2. 内容块 Content Block (标记为橘色的)</small>
<br />
<img src="http://www.magentocommerce.com/images/uploads/term-blocks-content.jpg" alt="" />
</p>
</div>
<p>块(Block)是Magento用来组织功能集合和模块化管理视觉和功能点的方法。有两种类型的块(Block),它们结合在一起生成前端视觉输出。</p>
<ul class="disc">
<li id="term-structural-blocks"><strong>结构块 Structural Blocks</strong>
<br />
  结构块是用于店铺页面的视觉结构， 如页头，左列，中间列和页脚。
(图1).</li>
<li id="term-content-blocks"><strong>内容块 Content Blocks</strong>
<br />
  内容块用来在每一个结构块内生成实际的内容。它们是页面里一个特性功能的展现，而且是利用模板文件产生(X)HTML并插入到结构块中。种类列表，购物车，产品TAG和产品列表等，它们每一个都是一个内容块(图2).</li>
</ul>
<p>&nbsp;</p>
<p>不采用模板嵌套的方式组织一个eCommerece应用，Magento更倾向于通过块来组合与布局内容。</p>
<p>&nbsp;</p>
<p class="accent">:: <strong>这就是术语介绍的全部了!</strong>
 - 简短明了. 在下一篇，我们将学习个性化定制Magento主题。</p>
<p>
			
				<a href="http://www.magentocommerce.com/design_guide/articles/working-with-magento-themes">下一篇：和Magento主题工作</a>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/228969#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 15:41:19 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/228969</link>
        <guid>http://koda.javaeye.com/blog/228969</guid>
      </item>
      <item>
        <title>我不是许文强，但是你也不是冯程程啊？</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/228861" style="color:red;">http://koda.javaeye.com/blog/228861</a>&nbsp;
          发表时间: 2008年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: white">我不是许文强，但是你也不是冯程程啊？</span>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/228861#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Aug 2008 10:18:37 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/228861</link>
        <guid>http://koda.javaeye.com/blog/228861</guid>
      </item>
      <item>
        <title>使用poedit汉化wordpress的插件</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/228629" style="color:red;">http://koda.javaeye.com/blog/228629</a>&nbsp;
          发表时间: 2008年08月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          使用wordpress的人,总是能被他各种插件吸引住,确实插件给我们带来非常丰富的功能个便利,不过我想大家也都遇到过这样的事情,就是看不懂插件的功能介绍,就算用翻译软件一时明白了.不过开启之后,以后总会有修改过着忘记它是做什么的时候.这时候你会觉得它是本国语言的话会很便利的.这里就是来介绍怎么汉化自己的插件.呵呵<br /><br />poEdit 是一个非常不错的工具 支持多国语言 po转mo 它也自带了.<br /><br />已经有一个非常好的如何使用 poEdit 翻译插件或者主题的 step-by-step 教程，但是我这里将通过一个真实的例子向你展示这些步骤。<br /><br /><strong>第一步：下载 poEdit</strong><br /><br />到达 poEdit 项目页面，然后下载，安装它就可以。<br /><br /><strong>第二步：找一个插件翻译</strong><br /><br />找一个你自己的（或者其他的）插件来翻译，在这里，我将举个我写的插件 deans_permalinks 作为例子。<br /><br /><strong>第三步：打开 poEdit 并打开菜单 文件 -> 新建消息目录文档…</strong><br /><br />在弹出的 '设置' 对话框中，输入你项目的名称，这里，项目的名称是 deans_permalinks，并且设置它的字符集为 UTF-8。<br /><br /><strong>第四步：输入插件的路径</strong><br /><br />在刚才的 '设置' 对话框，点击 '路径' 标签页并点击建立新条目的图标。假设你的插件在自己的子目录下并且你会把 .po 保存在子目录中，输入"."（这将告诉 poEdit 去扫描当前目录和所有子目录）。<br /><br /><strong>第五步：设置适当的关键字</strong><br /><br />因为 deans_permalinks 使用 _e 和 __ 函数来本地化，所以你应该让 poEdit 知道这就是它应该查找的。点击 '关键词' 标签页并输入 _e 和 __ 作为关键字(这里的__是两个_哦.看仔细了)，你可以通过点击 '新项' 图标输入关键字。<br /><br /><strong>第六步：点击 确定 并开始翻</strong>译<br /><br />点击 "确定" 按钮并保存 .po 文件到你的插件目录下。现在你把文件命名成什么并不重要，但是它会有影响当涉及到翻译。<br /><br />存储时可能提示错误：msgfmt: found 1 fatal error<br />这是由于po文件在某行的翻译有一个错误，保存这个错误到log文件去查看，只有修改这个错误，才能有二进制翻译生成。<br /><br />在你保存 .po 文件之后，会有一个窗口弹出并告诉你所有它找到相匹配的文本。<br /><br />如果你不准备翻译该插件，你可以继续保存.po 文件并把它和插件一起分发出去，使得别人能够直接翻译。<br /><br /><strong>第七步：翻译插件</strong><br /><br />一旦所有需要翻译德文本都找到了，就该开始翻译插件了。只要简单的找到你想翻译的文本，并增加你自己的语言。<br /><br /><strong>第八步：保存文件</strong><br /><br />还记得前面提到的 $domain 吗？举个例子，我想产生一个中文的翻译文件，我将会保存这个文件并以 $domain 作为前缀，然后语言和地区代码作为后缀。在这里，domain 是 deans_permalinks 并且语言和地区代码是 zh_CN。所以我将保存文件名为： deans_permalinks-zh_CN。<br /><br />通过保存新文件，我将自动生成一个可以别人用的 .po的文件，和一个可以被 deans_permalinks 直接读取来本地化插件的 .mo 文件。<br /><br />现在如果用户一定在他们的 wp-config.php 文件定义了适当的 WPLANG 的值，他们插件的选项和输出的文本将会使他们当地的语言。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/228629#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Aug 2008 12:08:22 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/228629</link>
        <guid>http://koda.javaeye.com/blog/228629</guid>
      </item>
      <item>
        <title>WordPress汉化</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/228628" style="color:red;">http://koda.javaeye.com/blog/228628</a>&nbsp;
          发表时间: 2008年08月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.WordPress 2.6 简体中文语言包及 WordPress 2.6 简体中文版已上传到 Google Code上<br />下载地址：<a href="http://code.google.com/p/wpcn/downloads/list" target="_blank">http://code.google.com/p/wpcn/downloads/list</a><br />Bug提交：http://code.google.com/p/wpcn/issues/list<br /><br />这里提供了 tar.gz 和 zip 两种压缩包的下载，请大家根据自己的需要下载。<br /><br />2. 在WordPress安装目录中的wp-content目录下新建languages目录。<br />3. 将zh_CN.mo文件上传到wp-content/languages目录下。<br />注意：旧版WordPress的语言包要求存放在wp-includes/languages目录，但是从WordPress 2.1开始，WordPress开始使用wp-content/languages目录，但是原有的目录依然可以使用。未来WordPress可能取消对旧版目录的支持，所以请WordPress 2.1以后版本用户尽量将中文包存放在wp-content/languages目录下。<br />4. 设置WordPress的语言为zh_CN。方法有二：<br /><br />   1). 编辑WordPress安装目录中的wp-config.php文件，找到<br />      define ('WPLANG', '');<br />      这一行，将其修改为：<br />      define ('WPLANG', 'zh_CN');<br />      注意："zh"为小写，表示中文；"CN"为大写，表示中国；中间是一个下划线。另外引号和括号等都是英文半角字符，修改的时候要注意。我自己就改错过好几次，555~～<br />   2). 安装Language SwitcherLanguage Switcher插件，进入后台，设置WordPress的语言为zh_CN。<br /><br /># 刷新WordPress管理后台，看看是否已变成中文界面。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/228628#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Aug 2008 12:06:21 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/228628</link>
        <guid>http://koda.javaeye.com/blog/228628</guid>
      </item>
      <item>
        <title>不能因为有了QA,程序员就可以提交低劣质量的代码</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/228146" style="color:red;">http://koda.javaeye.com/blog/228146</a>&nbsp;
          发表时间: 2008年08月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: white">不能因为有了QA,程序员就可以提交低劣质量的代码</span>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/228146#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 14 Aug 2008 21:36:57 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/228146</link>
        <guid>http://koda.javaeye.com/blog/228146</guid>
      </item>
      <item>
        <title>学会了软件开发、学会了软件设计、学会了接受失败，最后我学会了坚强</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/227075" style="color:red;">http://koda.javaeye.com/blog/227075</a>&nbsp;
          发表时间: 2008年08月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: white">学会了软件开发、学会了软件设计、学会了接受失败，最后我学会了坚强</span>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/227075#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 12 Aug 2008 16:46:56 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/227075</link>
        <guid>http://koda.javaeye.com/blog/227075</guid>
      </item>
      <item>
        <title>我是如何选择购物车系统的(面向海外运营)</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/227064" style="color:red;">http://koda.javaeye.com/blog/227064</a>&nbsp;
          发表时间: 2008年08月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近朋友购买了一个购物车系统x-cart，面向海外销售电子产品。x-cart是商业产品，价格布到1000美元。<img src="http://koda.javaeye.com/upload/picture/pic/20639/89b88261-4413-36d3-a261-60afc611610b.gif" /><br />朋友选择x-cart是自有他们的道理，对他们这些对购物车一窍不通的人，x-cart的好处在于:<br /><br />1. 安装极其简单。<br />2. 提供了稳定的基础功能: 产品展示、支付和数据导入导出等。<br />3. 样式模板可定制切换。<br />4. 如果需要功能扩展，x-cart提供付费开发。<br /><br />而它的缺点也是显而易见的，至少x-cart网站的SEO是跟不上时代的了。后来朋友提及了另外一个商业购物车叫Zoovy, 说用户评价比x-cart高。Zoovy的特征我了解不多，但是从官方的合作认证来看，似乎更强大些。<br /><img src="http://koda.javaeye.com/upload/picture/pic/19753/24fd1d9e-1a4c-341c-802a-3991fce55471.gif" /><br />至于其可扩展、定制性就不得而知了。<br /><br />当然购物车的选择是一种权衡，如果你想它廉价、随意定制，开源应该是你不二的选择。如何从众多开源的购物车系统选择一款基础功能全面稳定的并有良好扩展性的、灵活的模板定制机制的，还真要费一番功夫。<br /><br />常常听说某某购物车系统有名，其实如果你不真正地去用它，还真的很难去权衡。<a href="http://koda.javaeye.com/admin/blogs/226987" target="_blank">这篇文章提供了一个开源购物车系统的列表</a>，大多数都很出名，这就更加让人眼花缭乱了。<br /><br />因此，我也只是开个话题的头，除了使用过Zencart和刚刚接触Magento，其他系统还只是听说。所以，下面看法只代表个人观点。<br /><br />ZenCart名字挺棒，插件似乎也无所不包，但是一旦你深入下去，你将发现它的问题：<br /><br />首先是开发管理上眼花缭乱的目录结构，还有模糊的术语就已经让你不堪忍受。<br />其次是内置的功能少而且足够弱。<br />真的，ZenCart真的已经落伍了，升级缓慢. SEO上没有任何作为，更不要谈其他的Web2.0特征了。<br /><br />OSCommerce是ZenCart前身。会比ZenCart发展好么？不确定。<br /><br />我选择Magento，Magento是一匹黑马.<br /><img src="http://koda.javaeye.com/upload/picture/pic/19755/86fe7fa4-594f-3a4e-96e0-f8409e29ee04.png" /><br /><br />1. Magento内置了你想不到的大量的基础功能.<br />2. Magento的扩展开发，概念简单，只包括：Theme和Module. <br />3. Theme定制简单、灵活--真的简单在于：概念简单，开发不难.<br />4. Magento在许多Web2.0特征上有所作为：SEO, 比较购物等<br />5. Magento支持多店铺运行。<br /><br />动心了吗？ 那就下载下来试试看。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/227064#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 12 Aug 2008 16:36:48 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/227064</link>
        <guid>http://koda.javaeye.com/blog/227064</guid>
      </item>
      <item>
        <title>几种开源的国外网上购物(车)系统简介</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/226987" style="color:red;">http://koda.javaeye.com/blog/226987</a>&nbsp;
          发表时间: 2008年08月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天来介绍几种开源的国外网上购物系统：<br /><br /><strong>1. MAGENTO http://magentocommerce.com/</strong><br />这是我最喜欢的一种购物车系统，这款系统比较新，但他的功能非常全，特别是SEO以及网站的内部优化做的是相当的不错。整个网站看起来设计非常的大气，看起来很专业。不过对空间的要求相对其他的系统来说比较高。一些用户可能比较关心的功能像CROSS SELL,PROUDCT TAG都是后台自动生成的。还有他的BACTH IMPORT，都是不错的。付款网关主要是PAYPAL WEBSITE PAYMENT STANDARD(包括北美和英国），还有他的GOOGLE CHECKOUT(LEVEL 2). SHIPPING FEE的话也是自动运算的，非常的方便。功能相当完整，推荐大家有空可以研究一下。<br /><br /><strong>2. OSCOMMERCE SHOPPING CART http://www.oscommerce.com/</strong><br />这是比较老牌的一个系统了，不少人应该都知道，他的模块发展到现在已经是非常的多，系统也是相当的完整，基本上想要的功能，只要上网查一下都有。最新的版本已经加了PAYPAL的EXPRESS CHECKOUT.关于这个系统要提的就是他的模板（网站外表设计）：选择还是比较少的，一般都要买，一个模板一般要价150美金左右。主要是他的模板设计比较麻烦，不像有些系统已经把网站的程序和模板完全分开来。<br /><br /><strong>3. OSCMAX http://www.oscmax.com/</strong><br />这个其实是从OSCOMMERCE发展出来的。OSCOMMERCE的功能在这个上面基本上都找到得。<br /><br /><strong>4. ZEN CART SHOPPPING CART http://zencart.com/</strong><br />可以说是和OS旗鼓相当的一个系统，两个系统在一定程度是非常相像的。和OS做比较的话，这个系统好就好在他的模板和程序已经分开了来。（XHTML 的模板）模块也是相当的多，大家可以和官方网下载。<br /><br /><strong>5. CUBE CART http://cubecart.com/</strong><br />也是比较久的一个牌子了，一直到V3(第三版本)前都是免费的，最新出来的V4做的是不错的，不过这款是收费的。关于他的功能，他的模板和程序也是脱离的，这就代表模板的选择就相对多点（因为开发起来不那么麻烦），模板：XHTML/CSS组成,做出来的网站比较大方。还是一个要提的就是他的BULK UPLOAD PRODUCT这个功能，就是可以批量上传产品。还有一个就是他内置的付款网关多了一个GOOGLE CHECKOUT.<br /><br /><strong>6. AGORA CART http://www.agoracart.com/</strong><br />这是一款开源相当久的系统，要提的是他的付款网关，支持的比较多：<br />2checkout, <br />AgoraPay,<br />Authorize.Net AIM* (Gold version - booster pack), Authorize.Net SIM, BluePay* (Gold version),<br />Echo (Gold version), <br />EFT/ACH Checks, <br />eWay (Gold version), <br />iTransact, LinkPoint Connect,Mailed Payments, <br />Offline/Manual, <br />NiftyPay, <br />NoChex* (Gold version), <br />PayPal, <br />PayPal IPN (Gold version only - lifetime option), <br />PayPal Pro* (Gold version - booster pack), <br />PlugNPay, ProPay(manually), <br />ProTx* (Gold version), PsiGate* (Gold version), <br />USA ePay, <br />Verisign’s PayFlow,<br />WorldPay* (Gold version), <br />YourPay.<br /><br />以上是相对比较了解的几个，还有一些大家可以试下<br />1. WP e-Commerce at Instinct Entertainment （和WORDPRESS整合的购物车）<br />2. OpenCart<br />3. cpCommerce<br />4. Digistore Free Ecommerce<br />5. VirtueMart （和JOOMLA/MAMBO 整合的购物车）<br />6. PHP Shop<br />7. Mal’s e-commerce<br />8. Ubercart （和DRUPAL 整合的购物车）<br /><br />本文摘自： Chinamalls.ca 加拿大网上开店，转载请保留版权，谢谢。
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/226987#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 12 Aug 2008 13:32:56 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/226987</link>
        <guid>http://koda.javaeye.com/blog/226987</guid>
      </item>
      <item>
        <title>朋友家令人捧腹的猫</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/226800" style="color:red;">http://koda.javaeye.com/blog/226800</a>&nbsp;
          发表时间: 2008年08月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.他会跳起来自己开门，一次开不了继续跳<br /><br />2. 我们在吃饭，停下来的时候，它用爪子拍盘子，一边拍一边看着我们<br /><br />3. 我们在它面前放一杯水，它用爪子探进去蘸水喝<br /><br /><img src="http://koda.javaeye.com/upload/picture/pic/19733/8259e991-bd6b-3b8a-ab70-fde26ea7e503.png" /><br /><img src="http://koda.javaeye.com/upload/picture/pic/19731/3a1d7ac0-3f0a-39c5-a97b-341c0525cdd8.png" /><br /><br />来张正面照：<br /><img src="http://koda.javaeye.com/upload/picture/pic/19765/8011ea80-e987-37a2-90a0-c8118d8b6f7d.png" />
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/226800#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 11 Aug 2008 23:15:15 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/226800</link>
        <guid>http://koda.javaeye.com/blog/226800</guid>
      </item>
      <item>
        <title>JEE的重新拾起</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/226319" style="color:red;">http://koda.javaeye.com/blog/226319</a>&nbsp;
          发表时间: 2008年08月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          JEE到底发展到哪里了？<br /><br />到公元2008年8月1日，市面上的应用服务器产品基本都是实现了JEE5.0标准<br /><br />JCP方式推动的JEE标准当前版本为5.JEE5规范包含大量子规范: JSP,Servlet,EJB等。完整的列表在：<br /><br /><a href="http://java.sun.com/javaee/technologies/" target="_blank">http://java.sun.com/javaee/technologies/</a><br /><br />各个厂商争相实现，以期占有更多的市场。<br /><br />首先是Java的鼻祖SUN公司的两个参考实现：<br /><strong><span style="font-size: medium"><span style="color: darkred">1. JEE5 SDK</span></span></strong><br /> 名字购土吧？就像官方表述的一样，这不过是一个参考实现，至于产品强度如何，是不做什么保证的。作为一个Java Web程序员，你可能永远不会去用它，我想可能你必须知道它。<br />下载地址：<a href="http://java.sun.com/javaee/downloads/index.jsp" target="_blank">http://java.sun.com/javaee/downloads/index.jsp</a><br /><br /><strong><span style="font-size: medium"><span style="color: darkred">2. Glassfish</span></span></strong><br />官方说：<br /><div class="quote_title">引用</div><div class="quote_div">GlassFish 是用于构建 Java EE 5 应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。..</div><br /><br />下载地址:<a href="https://glassfish.dev.java.net" target="_blank">https://glassfish.dev.java.net</a><br /><br />其次 Apache组织的 Geronimo<br /><br /><strong><span style="font-size: medium"><span style="color: darkred">3. Geronimo</span></span></strong><br /><br />JEE是众多规范的集合，通常我们用的无论Tomcat还是Jetty都不是完整jee实现，只是部分规范(JSP,Servlet容器)实现。Apache历史上Geronimo才是第一个完整JEE规范的实现。当然Geronimo的Web容器不是单独实现的，它是基于Tomcat和Jetty的。<br /><br />下载地址：<a href="http://geronimo.apache.org/" target="_blank">http://geronimo.apache.org/</a><br /><br /><strong><span style="font-size: medium"><span style="color: darkred">4. Jboss</span></span></strong><br />下载地址：<a href="http://jboss.org/" target="_blank">http://jboss.org/</a><br /><br /><br />下面来看看商业产品：<br />Weblogic, Websphere.<br />对于它们我不想说太多，因为都是感性上认识：规范的跟进Weblogic做得还行，但是Websphere现在是否还跟进得慢吞吞我就不知道了。<br /><br />那么我用什么应用服务器呢？其实我什么都不用，因为无项目可做。<br /><br />回顾自己Java Web开发的历史，JEE标准中我主要就是用到了JSP/Servlet，至于其他的JEE标准如JMS,WerService往往使用的是其他开源的独立产品。而EJB，就永远都留在了课堂上。另外很多时候我使用了许多非遵从JEE标准的第三方开源软件，如远程调用使用Hessian. 他们都很优秀，这样我用的服务器一般就只有Tomcat,最多加上Apache.
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/226319#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 10 Aug 2008 14:58:21 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/226319</link>
        <guid>http://koda.javaeye.com/blog/226319</guid>
      </item>
      <item>
        <title>Joomla1.5 FAQ</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/225553" style="color:red;">http://koda.javaeye.com/blog/225553</a>&nbsp;
          发表时间: 2008年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong><span style="font-size: medium"><span style="color: darkred">1. How to invoke a module from a component's view?</span></span></strong><br /><br /><strong>ANSWER: </strong><br /><div class="quote_title">引用</div><div class="quote_div">jimport('joomla.application.module.helper');<br />$module = JModuleHelper::getModule('modulename');<br />echo JModuleHelper::renderModule($module);</div><br />But if you want more control of the output, then take a look at the code that parses the {loadmodule ...} syntax.<br /><br />This is located in the content plugin loadmodule in the file plugins\content\loadmodule.php<br /><br /><strong><span style="font-size: medium"><span style="color: darkred">2. Layout of Home different from other pages...</span></span></strong><br /><br /><br />Hello I would like to have a template pra Home Site, and when he clicked on any item change the layout ... all internal pages would have a layout and Home Another would:<br /><br />Explain better the image below, Thanks<br /><img src="http://koda.javaeye.com/upload/picture/pic/19481/709040a1-d421-34ab-86e8-b11f64d5817f.gif" /><br /><br />Actually, think the other way around. The HOME has one layout, ALL THE REST have a different one.<br /><br />if using a separate template, this is the way you do it:<br /><br />This is acomplished by adding a separate template to your installation, configuring it the way you want, then assigning that template to ALL menu link items, EXCEPT HOME. You do this thru Admin>>Template Manager and open the #2 template and assign it to all menu items, except home. Hold the CTRL key down to select multiple items.<br /><br />If you intend to use the same template exactly, but just re-arranged differently, you will have to do it this way:<br /><br />From what you presented, it appears that there are only two modules involved, main menu and #2 menu.<br /><br /><strong>ANSWER: </strong><br /><div class="quote_title">引用</div><div class="quote_div"><br />1) First create the site with main menu as is.<br /><br />2) Duplicate the main menu in the module manager (even if you will change the link items).<br /><br />Now you have the two menus in separate modules.<br /><br />3) On the template/index.php page, create a placeholder position above the content.<br /><br />4) Assign the #2 menu to that physical location.<br /><br />You now have two menus displayed on the index.php page.<br /><br />5) Open the main menu module and at the bottom, select NONE, then SELECT, and highlight the HOME menu link item. This says: show me only when the home button is active/clicked.<br /><br />6) Opent the #2 menu and at the bottom, select NONE, then SELECT, and select all but HOME while holding down the CTRL key. This says: show me all the time EXCEPT when the home button is active/clicked.<br /><br />7) Configure the menu link items in menu #2 as desired.</div>
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/225553#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 07 Aug 2008 17:01:32 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/225553</link>
        <guid>http://koda.javaeye.com/blog/225553</guid>
      </item>
      <item>
        <title>Joomla1.5! 扩展的开发</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/225548" style="color:red;">http://koda.javaeye.com/blog/225548</a>&nbsp;
          发表时间: 2008年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Joomla! 是一个具有丰富特性的内容管理系统。但是如果你要使用它建立一个站点，并且有些功能是Joomla本身没有提供的，你就需要使用扩展。在Joomla中五种类型的扩展：组件(Components), 模块(Modules), 插件(Plugins), 模板(Templates)和语言(Languages).每种扩展完成不同的功能。<br /><br /><img src="http://koda.javaeye.com/upload/picture/pic/19475/6d2d30ae-6af6-38a7-9d53-dd064bd404fa.jpg" /><br /><br /><strong><span style="color: red"><span style="font-size: medium">组件(Components)</span></span></strong><br /><br />组件是最大最复杂的扩展，类似于一个小的应用。一个组件分为两部分：后台管理部分和前台部分. 每次Joomla页载入时，组件被调出渲染页面的主体。例如：com_registration是一个处理用户注册的组件。用户可以在前端注册为一个会员；在管理端，你能编辑这些会员。组件是页面的主要组成，组件被菜单项驱动，每个菜单对应一个组件.<br /><br />例如: com_content, com_registration<br />Admin head menu >Components<br /><br /><strong><span style="color: red"><span style="font-size: medium">模块(Modules)</span></span></strong><br /><br />模块是页面渲染中使用的一种更加轻量和灵活的扩展。<br />Modules are more lightweight and flexible extensions used for page rendering. Sometimes modules are linked to components such as the “latest news” module which links to the com_content and displays links to the newest content items. These modules are mostly known as the “boxes” that are arranged around a component, for example: the login module. The footer is a module. Modules are assigned per menu item. So, you can decide to show or hide the logon module depending on which component (menu item) is used. However, modules do not need to be linked to components, as a matter of fact they don't even need to be linked to anything and can be just static HTML or text.<br /><br />例如: mod_banners, mod_mainmenu<br /><br />Admin head menu > Extensions > Module Manager<br /><br /><strong><span style="color: red"><span style="font-size: medium">插件(Plugins)</span></span></strong><br /><br />插件是更高级的扩展用来事件处理。In the execution of any part of Joomla, be it the core, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. Plugins were also known as mambots.<br /><br />For example: content.searchbot, tinymce<br /><br />Admin head menu > Extensions > Plugin Manager<br /><br /><strong><span style="color: red"><span style="font-size: medium">模板(Templates)</span></span></strong><br /><br />模板是Joomla!的基本设计。 With a template you can change the look and feel of your website. Templates have certain fields in which components and modules will be shown. Templates are easy to build or customize and they provide maximum flexibility in how you style your site.<br /><br />Admin head menu > “Extensions” > “Template Manager”<br /><br /><strong><span style="color: red"><span style="font-size: medium">语言(Languages)</span></span></strong><br /><br />可能最基本的扩展就是语言了. Languages can be packaged in two ways, either as a core package or as an extension package. In essence, these files consist key/value pairs, these pairs provide the translation of static text strings which are assigned within the Joomla! source code. These language packs will affect both the front and administrator side. Note: these language packs also include an XML meta file which describes the language and font information to use for PDF content generation.<br /><br />Admin head menu > “Extensions” > “Language Manager”<br /><br /><img src="http://koda.javaeye.com/upload/picture/pic/19477/63a5bd00-9d48-3af2-a68f-330a1166518b.jpg" />
          <br/>
          <span style="color:red;">
            <a href="http://koda.javaeye.com/blog/225548#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 07 Aug 2008 16:49:13 +0800</pubDate>
        <link>http://koda.javaeye.com/blog/225548</link>
        <guid>http://koda.javaeye.com/blog/225548</guid>
      </item>
      <item>
        <title>Flex RemoteObject and AMFPHP 1.9 教程(二)</title>
        <author>koda</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://koda.javaeye.com">koda</a>&nbsp;
          链接：<a href="http://koda.javaeye.com/blog/225015" style="color:red;">http://koda.javaeye.com/blog/225015</a>&nbsp;
          发表时间: 2008年08月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          让我们来看一个更复杂的例子，这个例子展示了用 ArrayCollection 作为返回数据以及在Flex中使用 [RemoteClass]<br /><br />在本例中，远程方法返回一个映射了类的数组（an array of mapped classes），也就是说，返回的这个数组中的每个元素都有一个AS类与之对应。<br /><br /><span style="font-size: medium"><span style="color: darkred">1. 创建PHP服务</span></span><br />1.1 一个php类：$AMF_PHP/tutorials/Person.php<br /><pre name="code" class="java">
&lt;?php
// actually it's php code 
class Person {
    var $firstName;
    var $lastName;
    var $phone;
    var $email;
    // explicit actionscript package
    var $_explicitType = "tutorials.Person";
    }
?>
</pre><br /><br />其中 $_explicitType 变量告诉 amfphp 这个Person类与 AS 中的 tutorials.Person 类相对应。<br /><br />1.2 下面创建php的service文件 $AMF_PHP/tutorials/PersonService.php,<br />这个类只有一个 getList 方法用来返回Person对象的数组<br /><br /><pre name="code" class="java">
&lt;?php
// actually it's PHP code
require_once "./Person.php";
class PersonService{    
    /**     
     * Get a list of people     
     * @returns An Array of Person     
     */
    function getList(){
        $people = array(
            array("Alessandro", "Crugnola", "+390332730999", "alessandro@sephiroth.it"),
            array("Patrick", "Mineault", "+1234567890", "patrick@5etdemi.com"),
        );
        $p = array();
        for($a = 0; $a &lt;count($people); $a++){
            $person = new Person();
            $person->firstName = $people[$a][0];
            $person->lastName = $people[$a][1];
            $person->phone = $people[$a][2];
            $person->email = $people[$a][3];
            $p[] = $person;
        }
        return $p;
    }
}
?>
</pre><br /><span style="color: red"><strong>注意：上面两个php文件&lt;?php ?>外面不能有任何输出，特别注意空格的存在</strong></span><br /><span style="font-size: medium"><span style="color: darkred">2. 编写客户端AS脚本Person类</span></span><br /><br /><pre name="code" class="java">
// it's AS file
package tutorials
{
    [RemoteClass(alias="tutorials.Person")]
    [Bindable]
