<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>drupal</title>
  <link rel="alternate" type="text/html" href="http://kzeng.info/taxonomy/term/187"/>
  <link rel="self" type="application/atom+xml" href="http://kzeng.info/taxonomy/term/187/atom/feed"/>
  <id>http://kzeng.info/taxonomy/term/187/atom/feed</id>
  <updated>2006-01-31T21:50:45-05:00</updated>
  <entry>
    <title>Drupal 4.7 升级准备笔记（3）: 分离freetags与分类的显示</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1248" />
    <id>http://kzeng.info/node/1248</id>
    <published>2006-03-03T16:20:12-05:00</published>
    <updated>2006-03-03T16:57:49-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal_4-7" />
    <category term="drupal主题" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>自drupal 4.7起，引入了新的tagging的方式，也即是freetags。从根本上讲，这仍然是drupal分类系统（taxonomy）的一部分，所以在页面上显示的时候，freetags与一般的分类是混在一起的，有时候会带来不方便，所以我们希望用一种方法把两者分离，就像awtags与分类的显示那样。这部分的显示控制有主题文件中的node.tpl.php来完成，具体的说，在一般的主题的node.tpl.php中，分类的显示是由以下代码来完成的：<br />
<?php<br />
 print terms; <br />
?></p>
<p>这里的term包括分类系统中所有的分类（term），而我们现在就要把categories和reetags分开，分开的原理是利用他们所从属的不同的vocabulary。首先我们要查知blog分类的vid与freetags的vid，在phpMyAdmin中，浏览vocabulary表，就能查到相关的信息。我这里分类的vid是11，freetags的vid是12，在显示<br />
<?php<br />
 print terms; <br />
?><br />
的地方，我们加入第一段代码来显示分类：</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>自drupal 4.7起，引入了新的tagging的方式，也即是freetags。从根本上讲，这仍然是drupal分类系统（taxonomy）的一部分，所以在页面上显示的时候，freetags与一般的分类是混在一起的，有时候会带来不方便，所以我们希望用一种方法把两者分离，就像awtags与分类的显示那样。这部分的显示控制有主题文件中的node.tpl.php来完成，具体的说，在一般的主题的node.tpl.php中，分类的显示是由以下代码来完成的：<br />
<?php<br />
 print terms; <br />
?></p>
<p>这里的term包括分类系统中所有的分类（term），而我们现在就要把categories和reetags分开，分开的原理是利用他们所从属的不同的vocabulary。首先我们要查知blog分类的vid与freetags的vid，在phpMyAdmin中，浏览vocabulary表，就能查到相关的信息。我这里分类的vid是11，freetags的vid是12，在显示<br />
<?php<br />
 print terms; <br />
?><br />
的地方，我们加入第一段代码来显示分类：<br />
<?php<br />
  $vid = 11;<br />
//分类的vid<br />
  $result = db_query("SELECT t.tid, t.name FROM {term_data} t, {term_node} r WHERE r.tid = t.tid AND r.nid = %d AND t.vid = %d ORDER BY weight, name", array($node->nid, $vid));<br />
  while ($term = db_fetch_object($result)) {<br />
    $cats[] = l($term->name, 'taxonomy/term/' . $term->tid);<br />
  }<br />
  if ($cats) {<br />
    print t("Category: ") . implode('| ', $cats);<br />
  }<br />
//定义新的变量$cats，我们仍然使用'|'来分隔分类，你可以按照喜好更改<br />
?> </p>
<p>然后在 content 的div结束的地方，也就是内容的下面，新建一个显示tags的div：</p>
<div class="tags"><?php<br />
  $vid = 12;<br />
//freetags的vid<br />
  $result = db_query("SELECT t.tid, t.name FROM {term_data} t, {term_node} r WHERE r.tid = t.tid AND r.nid = %d AND t.vid = %d ORDER BY weight, name", array($node->nid, $vid));<br />
  while ($term = db_fetch_object($result)) {<br />
    $tags[] = l($term->name, 'taxonomy/term/' . $term->tid);<br />
  }<br />
  if ($tags) {<br />
    print t("Tags: ") . implode($tags);<br />
//定义新的变量$tags，这里我取消了不同tags之间间隔，主要是为了我这里主题显示需要，如果你想更改，可以仿照上面的category的做法，在最后的implode()中加入你需要的分隔字符（譬如逗号）<br />
  }<br />
?> </div>
</p>
<p>这样改造工作就完成了：）
</p>
    ]]></content>
  </entry>
  <entry>
    <title>Drupal 4.7 升级准备笔记（2）</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1241" />
    <id>http://kzeng.info/node/1241</id>
    <published>2006-02-28T03:41:12-05:00</published>
    <updated>2006-03-03T07:30:12-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal_4-7" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>
<p>第一步，我们所需要做的就是把awtags彻底的转换为free tags。权衡再三，觉得还是使用drupal核心提供的tags比较安全，因为在将来我们不知道awtags还会不会更新。另外free tags因为使用了ajax技术，可以方便的给你书写提示，并支持tags中间的空格，还有就是可以自动ping Technorati。awtags好像也声称可以自动ping technorati，但是用了这么久，没见它ping过：）所以我们这里做的第一步就是将awtags彻底转化为free tags，然后我们再通过编辑drupa的主题，使得free tags的显示与awtags一摸一样（也就是说我们仍然保持原来的分类，但是在文章的末尾显示free tags）。</p>
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>
<p>第一步，我们所需要做的就是把awtags彻底的转换为free tags。权衡再三，觉得还是使用drupal核心提供的tags比较安全，因为在将来我们不知道awtags还会不会更新。另外free tags因为使用了ajax技术，可以方便的给你书写提示，并支持tags中间的空格，还有就是可以自动ping Technorati。awtags好像也声称可以自动ping technorati，但是用了这么久，没见它ping过：）所以我们这里做的第一步就是将awtags彻底转化为free tags，然后我们再通过编辑drupa的主题，使得free tags的显示与awtags一摸一样（也就是说我们仍然保持原来的分类，但是在文章的末尾显示free tags）。</p>
<p>升级的思路其实很简单，我们需要做两件事情，首先是把awtags的tags导入free tags所在的term_data表中，然后再建立起 tags与node之间的关联。注意：建议你先将awtags导入term_data，然后在升级到drupal 4.7beta4，如果先升级再导入的话，牵扯到一个转化MySQL数据库 Char Set的问题，在MySQL中不能直接把lantin1的编码转化为utf-8，必须先转化为binary，所以这样的转化是极为复杂的，因此建议先完成导入导出，然后在升级。</p>
<ol>
<li>建立一个新的分类，名字叫做 tags （或者什么别的名字都行），这个分类在升级后就起到free tags的作用。</li>
<li>我们需要知道一些基本数据：首先在你的数据库中（phpmyadmin或是命令行）运行：<br/><span style="FONT-FAMILY: Courier New"><span style="FONT-FAMILY: Courier New"><br/>select vid,name from vocabulary;<br/><br/></span>因为我们想知道</span>这个新建的tags的vid，运行的结果是各个分类（vocabulary）的id number，我这里的tags的vid是12；然后我们需要知道现在tid的最大值是多少：<br/><br/><span style="FONT-FAMILY: Courier New">select max(term_data.tid) from term_data;</span><br/><br/>因为在drupal的taxonomy中，每个分类词（term）都会占有一个tid，我们在把awtags的tag导入为term的时候要避开已经在使用中的tid，否则就会因为重叠而出错。我这里tid的最大值是53；</li>
<li><span style="FONT-FAMILY: Courier New">现在开始导入：<br/><br/>insert into term_data (tid,vid,name) select <strong style="COLOR: #ff0000">55</strong>+awtags.tid, <strong style="COLOR: #ff0000">12</strong>, awtags.tag from awtags;<br/><br/>这里导入的是tag的名称。注意我用<span style="COLOR: #ff0000">红色</span>标记的地方。因为我的tid已经排到53了，为了避免导入的tag与已有的term重复，所以我在前面加了55；<span style="COLOR: #ff0000">12</span>表示的是vid的数字，也就是你新建的tags分类的vid。</span></li>
<li><span style="FONT-FAMILY: Courier New">然后导入：<br/><br/>insert into term_node (tid,nid) select <span style="COLOR: #ff0000">55</span>+awtags_node.tid,awtags_node.nid from awtags_node;<br/><br/>这里导入的是tag与node的关联。同样注意这个红色的<span style="COLOR: #ff0000">55</span>。至此转换完毕，你可以放心的升级drupal 4.7-beta4了。</span></li>
<li><span style="FONT-FAMILY: Courier New">升级之后，记得到 "管理-&gt;分类" 中去将编辑术语tags，勾选free tagging这个选项。<strong>OK，一切都搞定！</strong></span></li>
</ol>
<p><br/><span style="FONT-FAMILY: Courier New">今天的笔记先到这里。明天我再写如何把free tags与分类分开显示。</span></p>
</p>
    ]]></content>
  </entry>
  <entry>
    <title>drupal 4.7 翻译的进展</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1240" />
    <id>http://kzeng.info/node/1240</id>
    <published>2006-02-27T23:34:01-05:00</published>
    <updated>2006-02-27T18:36:21-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal汉化" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>
<p><a href="http://www.kzeng.info/files/114108134542.png"><img class="" src="http://www.kzeng.info/files/114108134542_tn.jpg" style="BORDER-RIGHT: rgb(0,128,255) 1px solid; BORDER-TOP: rgb(0,128,255) 1px solid; BORDER-LEFT: rgb(0,128,255) 1px solid; BORDER-BOTTOM: rgb(0,128,255) 1px solid" title="translation_process.png" align="right" height="200" width="117" alt="translation_process.png" border="0" id="114108134542.png"/></a>呵呵，drupal 4.7 应该快出来了（ft，这句话说过无数次了），所以刚才看了一下drupal 4.6里有多少旧的翻译可以用于drupal 4.7的，在Linux里msgmerge了新旧翻译，发现其实大部分的drupal 4.6的翻译其实都是可以用于 drupal 4.7的（见右图，点击放大，如果使用feed访问的，可以点击<a href="http://static.flickr.com/56/105453330_c147438d84_o.png" target="_blank" title="这里">这里</a>从flickr打开），估算了一下，其实翻译量只有总量的一成左右，所以这个星期想抽空做一下试试看，估计认真的翻一下，可能几个小时就可以完成了，完成以后会上传到drupal的总站，tag为drupal 4.7的release，到时候大家可以下载来试试，看看质量如何。翻译的同时也打算在此校对一下原来drupal 4.6的翻译，前阵子和大伙儿一起<a href="http://www.kzeng.info/forum/topic/1164" title="聊了聊drupal汉化的标准化翻译的问题">聊了聊drupal汉化的标准化翻译的问题</a>，就按照大家讨论的结果再对drupal的汉化翻译做一次校勘。呵呵，希望可以很快地完成。另外，由于我的blog国内似乎仍然访问不了，所以想像原来设想的那样，新建一个 drupalchina.org， 作为drupal中文化的一个社区，已经在<a href="http://verydummy.com/drupal_demo/node/54">大米那里</a>留了言，大致设想是先把网站用drupal架好，然后启动论坛模块，对drupal感兴趣的同志们可以一起去聊聊，看看具体怎么架设这个中文drupal的社区。呵呵，加油尽快把drupal 4.7 的翻译赶出来：）</p>
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>
<p><a href="http://www.kzeng.info/files/114108134542.png"><img class="" src="http://www.kzeng.info/files/114108134542_tn.jpg" style="BORDER-RIGHT: rgb(0,128,255) 1px solid; BORDER-TOP: rgb(0,128,255) 1px solid; BORDER-LEFT: rgb(0,128,255) 1px solid; BORDER-BOTTOM: rgb(0,128,255) 1px solid" title="translation_process.png" align="right" height="200" width="117" alt="translation_process.png" border="0" id="114108134542.png"/></a>呵呵，drupal 4.7 应该快出来了（ft，这句话说过无数次了），所以刚才看了一下drupal 4.6里有多少旧的翻译可以用于drupal 4.7的，在Linux里msgmerge了新旧翻译，发现其实大部分的drupal 4.6的翻译其实都是可以用于 drupal 4.7的（见右图，点击放大，如果使用feed访问的，可以点击<a href="http://static.flickr.com/56/105453330_c147438d84_o.png" target="_blank" title="这里">这里</a>从flickr打开），估算了一下，其实翻译量只有总量的一成左右，所以这个星期想抽空做一下试试看，估计认真的翻一下，可能几个小时就可以完成了，完成以后会上传到drupal的总站，tag为drupal 4.7的release，到时候大家可以下载来试试，看看质量如何。翻译的同时也打算在此校对一下原来drupal 4.6的翻译，前阵子和大伙儿一起<a href="http://www.kzeng.info/forum/topic/1164" title="聊了聊drupal汉化的标准化翻译的问题">聊了聊drupal汉化的标准化翻译的问题</a>，就按照大家讨论的结果再对drupal的汉化翻译做一次校勘。呵呵，希望可以很快地完成。另外，由于我的blog国内似乎仍然访问不了，所以想像原来设想的那样，新建一个 drupalchina.org， 作为drupal中文化的一个社区，已经在<a href="http://verydummy.com/drupal_demo/node/54">大米那里</a>留了言，大致设想是先把网站用drupal架好，然后启动论坛模块，对drupal感兴趣的同志们可以一起去聊聊，看看具体怎么架设这个中文drupal的社区。呵呵，加油尽快把drupal 4.7 的翻译赶出来：）</p>
</p>
    ]]></content>
  </entry>
  <entry>
    <title>Drupal 4.7 升级准备笔记（１）</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1238" />
    <id>http://kzeng.info/node/1238</id>
    <published>2006-02-25T23:17:19-05:00</published>
    <updated>2006-02-25T23:18:03-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal_4-7" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>前几天冒冒失的升级到beta-3，但是因为一些错误，又不得不重新降级回drupal 4.6.5，这两天比较闲，又仔细研究了一下drupal 4.7，决定在测试站点上把一切都调配得当，再升级到 drupal 4.7的beta-4，这里是一些研究笔记：
<ol>
<li>drupal 4.7-beta 4的升级没有问题，原来说是有问题其实是我自己的问题，可能是一次执行补丁的时候无意把三个数据表的结构改变了，所以才导致了升级中出错，对比了一下新安装的drupal 4.6.5的数据库，发现我的 node, accesslog, locale_targets三个表的index被补丁改动过，于是手动改回来，现在已经没有问题了，我的测试站点已经在拖着我的一个数据库的备份在运行 drupal 4.7 beta-4了；</li>
<li>升级之后，数据库的vocabulary表仍然少了一个column，导致无法加入新的vocabulary，手动添加了那个叫做targets的column，现在已经没有问题了；</li>
<li>升级之后，可能默认的“主链接”会消失，只需要在“管理-&gt;菜单”下选择“重设菜单”就可以了，可以重新编辑主链接。这样的菜单编辑事实上给了Drupal更大的灵活性;</li>
<li>flatforum有支持 drupal 4.7 的版本，所以仍然可以保持原来的forum的样子；</li>
<li>打算<b>彻底放弃awtags，改用freetags</b>，传化的方法已经基本完成，现在还在调试，如果成功了就仔细写一下转换的方法。</li>
</ol>
<p>呵呵，现写这么多，继续试验ing：）</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>前几天冒冒失的升级到beta-3，但是因为一些错误，又不得不重新降级回drupal 4.6.5，这两天比较闲，又仔细研究了一下drupal 4.7，决定在测试站点上把一切都调配得当，再升级到 drupal 4.7的beta-4，这里是一些研究笔记：
<ol>
<li>drupal 4.7-beta 4的升级没有问题，原来说是有问题其实是我自己的问题，可能是一次执行补丁的时候无意把三个数据表的结构改变了，所以才导致了升级中出错，对比了一下新安装的drupal 4.6.5的数据库，发现我的 node, accesslog, locale_targets三个表的index被补丁改动过，于是手动改回来，现在已经没有问题了，我的测试站点已经在拖着我的一个数据库的备份在运行 drupal 4.7 beta-4了；</li>
<li>升级之后，数据库的vocabulary表仍然少了一个column，导致无法加入新的vocabulary，手动添加了那个叫做targets的column，现在已经没有问题了；</li>
<li>升级之后，可能默认的“主链接”会消失，只需要在“管理-&gt;菜单”下选择“重设菜单”就可以了，可以重新编辑主链接。这样的菜单编辑事实上给了Drupal更大的灵活性;</li>
<li>flatforum有支持 drupal 4.7 的版本，所以仍然可以保持原来的forum的样子；</li>
<li>打算<b>彻底放弃awtags，改用freetags</b>，传化的方法已经基本完成，现在还在调试，如果成功了就仔细写一下转换的方法。</li>
</ol>
<p>呵呵，现写这么多，继续试验ing：）</p></p>
    ]]></content>
  </entry>
  <entry>
    <title>Drupal和无损SEO的文字转图片方案：sIFR</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1237" />
    <id>http://kzeng.info/node/1237</id>
    <published>2006-02-24T16:50:21-05:00</published>
    <updated>2006-02-24T16:51:34-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal模块" />
    <category term="sifr" />
    <category term="sifr模块" />
    <category term="Drupal" />
    <category term="趣物" />
    <summary type="html"><![CDATA[<p>前几天聊到了一个把在服务器端<a href="http://www.kzeng.info/node/1229">把文字转化为图片的小trick</a>，具体的说，譬如你在你的网站的文字设置了一种字体，但是由于访客的机器在本地没有安装这种字体，导致无法显示，所以就有一种简单的技术，把需要的字体放在服务器端，然后将使用这种字体的文字自动转化为图片，这样访客就可以正常访问了。但是<a href="http://www.kzeng.info/node/1229#comment-2474">fufu</a>在评论的时候也指出这种trick比较影响SEO（搜索引擎优化）。但是，现在有一种新的技术可以更方便的实现这一功能，并且丝毫无损SEO，这就是<a href="http://www.mikeindustries.com/sifr/">sIRF</a>（Scalable Inman Flash Replacement），它使用Flash和JavaScript技术利用你上传到服务器端的字体重新渲染你的文字，可以生成各种你需要的字体，hoho，譬如那天俺兴起把所有的blog都用“九叠篆”显示：）效果可以看<a href="http://www.mikeindustries.com/blog/files/sifr/2.0/">这里</a>，注意上面的 The Gothic Times 几个字。当然更令人振奋的是Drupal已经支持了这种技术，因为我们已经有了<a href="http://drupal.org/project/sifr">sIRF模块</a>，安装了这个模块就可以简单的实现了sIRF，不过需要注意的是这个模块现在只支持 drupal 4.7 ，使用 4.7 的同志们可以试一下，我现在也到我的测试站点，显示一下“九叠篆”去：）</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>前几天聊到了一个把在服务器端<a href="http://www.kzeng.info/node/1229">把文字转化为图片的小trick</a>，具体的说，譬如你在你的网站的文字设置了一种字体，但是由于访客的机器在本地没有安装这种字体，导致无法显示，所以就有一种简单的技术，把需要的字体放在服务器端，然后将使用这种字体的文字自动转化为图片，这样访客就可以正常访问了。但是<a href="http://www.kzeng.info/node/1229#comment-2474">fufu</a>在评论的时候也指出这种trick比较影响SEO（搜索引擎优化）。但是，现在有一种新的技术可以更方便的实现这一功能，并且丝毫无损SEO，这就是<a href="http://www.mikeindustries.com/sifr/">sIRF</a>（Scalable Inman Flash Replacement），它使用Flash和JavaScript技术利用你上传到服务器端的字体重新渲染你的文字，可以生成各种你需要的字体，hoho，譬如那天俺兴起把所有的blog都用“九叠篆”显示：）效果可以看<a href="http://www.mikeindustries.com/blog/files/sifr/2.0/">这里</a>，注意上面的 The Gothic Times 几个字。当然更令人振奋的是Drupal已经支持了这种技术，因为我们已经有了<a href="http://drupal.org/project/sifr">sIRF模块</a>，安装了这个模块就可以简单的实现了sIRF，不过需要注意的是这个模块现在只支持 drupal 4.7 ，使用 4.7 的同志们可以试一下，我现在也到我的测试站点，显示一下“九叠篆”去：）</p>
    ]]></content>
  </entry>
  <entry>
    <title>再次降级回drupal 4.6.5</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1232" />
    <id>http://kzeng.info/node/1232</id>
    <published>2006-02-21T19:48:34-05:00</published>
    <updated>2006-02-21T19:50:34-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal版本" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>昨天升级到了drupal 4.7-beta3，但是太不稳定，于是又降级回了 drupal 4.6.5。Beta3的一些已知的bug在beta4中都已经解决，但是我从4.6.5直接升级到beta4的时候屡屡出错，关键问题出在三个数据表上（access_log，node, locales_target），不知道是不是因为我的某些模块在安装时改变了这几个表的结构，才出现更新失败的错误，正在进一步的研究中。所以昨天只装了beta3，几个问题譬如Awtags什么的也都已经解决了。但是beta3似乎还是不太稳定，block部分后来神秘消失了（^_^）现在把beta3的数据库先挂在测试网站上了，继续研究一下错误到底出在什么地方。另外发现 drupal 4.7 里面很多的翻译都可以直接用drupal 4.6的，翻译的工作量会小很多。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>昨天升级到了drupal 4.7-beta3，但是太不稳定，于是又降级回了 drupal 4.6.5。Beta3的一些已知的bug在beta4中都已经解决，但是我从4.6.5直接升级到beta4的时候屡屡出错，关键问题出在三个数据表上（access_log，node, locales_target），不知道是不是因为我的某些模块在安装时改变了这几个表的结构，才出现更新失败的错误，正在进一步的研究中。所以昨天只装了beta3，几个问题譬如Awtags什么的也都已经解决了。但是beta3似乎还是不太稳定，block部分后来神秘消失了（^_^）现在把beta3的数据库先挂在测试网站上了，继续研究一下错误到底出在什么地方。另外发现 drupal 4.7 里面很多的翻译都可以直接用drupal 4.6的，翻译的工作量会小很多。</p>
    ]]></content>
  </entry>
  <entry>
    <title>Drupal几款最新的主题</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1229" />
    <id>http://kzeng.info/node/1229</id>
    <published>2006-02-19T02:07:22-05:00</published>
    <updated>2006-02-19T02:08:12-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal主题" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>这阵子，Drupal又有了一些新的主题，包括<a href="http://drupal.org/node/46901">Fancy</a>， <a href="http://drupal.org/node/47517">Goldengray</a>，<a href="http://drupal.org/node/49090">Simplex</a>，<a href="http://drupal.org/node/49409">Burnt</a>，<a href="http://drupal.org/node/49820">Sharepoint-Like</a>，和<a href="http://drupal.org/node/49988">Blue Bars</a> 。其中的一些是来自Wordpress，也有一些是自己设计的，但是大多乏善可陈，其中的Fancy采用了一个在服务器端把文字转换为图片的小trick，可以自由的选用字体，这个东东我以前也弄了一个出来，后来又丢掉了，因为觉得价值不是很大，不过用的好了还是很漂亮的，譬如<a href="http://www.kdolphin.com/">海豚微笑的背后</a>，他那里应该是用的wordpress的一个插件。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>这阵子，Drupal又有了一些新的主题，包括<a href="http://drupal.org/node/46901">Fancy</a>， <a href="http://drupal.org/node/47517">Goldengray</a>，<a href="http://drupal.org/node/49090">Simplex</a>，<a href="http://drupal.org/node/49409">Burnt</a>，<a href="http://drupal.org/node/49820">Sharepoint-Like</a>，和<a href="http://drupal.org/node/49988">Blue Bars</a> 。其中的一些是来自Wordpress，也有一些是自己设计的，但是大多乏善可陈，其中的Fancy采用了一个在服务器端把文字转换为图片的小trick，可以自由的选用字体，这个东东我以前也弄了一个出来，后来又丢掉了，因为觉得价值不是很大，不过用的好了还是很漂亮的，譬如<a href="http://www.kdolphin.com/">海豚微笑的背后</a>，他那里应该是用的wordpress的一个插件。</p>
<p>真正比较有趣的一个主题设计是Nick Lewis做的一个一个叫做Curved Slate的<a href="http://nicklewis.smartcampaigns.com/node/763">主题</a>，它使用了<a href="http://pro.html.it/articoli/id_599/idcat_31/pag_1/pag.html">Nifty Corners</a>技术，利用JavaScript来做半圆形的边角， 并且整合了很多Drupal 4.7新推出的功能，除此以外还配备了很多可爱的图标。不管这个主题本身看起来怎样，它至少给我们提供了一个可以解剖学习的“活体”（hoho，有些恐怖了）。</p>
<p></p>
    ]]></content>
  </entry>
  <entry>
    <title>测试了一下升级到 Drupal 4.7-beta 4</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1214" />
    <id>http://kzeng.info/node/1214</id>
    <published>2006-02-09T03:43:11-05:00</published>
    <updated>2006-02-09T03:44:23-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal_4-7" />
    <category term="drupal版本" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>先备份了数据库，然后新建了一个数据，把现在的数据导入，Drupal的升级其实关键数据库的升级。然后在 <a href="http://test.kzeng.info">http://test.kzeng.info</a> 上进行了测试。这次drupal的升级可以自动选择你现在的版本，方便了一些，但是一开始就显示了一些 illegal mix of collations的错误，这是<a href="http://drupal.org/node/46934">一个已知的bug</a>，按照以前测试的经验，并不影响升级后的使用，但是在升级数据库的时候，有三个数据表出现了错误，必须手动升级，尝试了手动升级，但是仍然出错，但是给出了出错代码，还没有来得及在MySQL的网站上查询。升级以后倒是可以正常使用，因为有些模块还没有安装齐全，所以现在测试网站暂时设置成了offline的状态--这也是drupal 4.7的新功能。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>先备份了数据库，然后新建了一个数据，把现在的数据导入，Drupal的升级其实关键数据库的升级。然后在 <a href="http://test.kzeng.info">http://test.kzeng.info</a> 上进行了测试。这次drupal的升级可以自动选择你现在的版本，方便了一些，但是一开始就显示了一些 illegal mix of collations的错误，这是<a href="http://drupal.org/node/46934">一个已知的bug</a>，按照以前测试的经验，并不影响升级后的使用，但是在升级数据库的时候，有三个数据表出现了错误，必须手动升级，尝试了手动升级，但是仍然出错，但是给出了出错代码，还没有来得及在MySQL的网站上查询。升级以后倒是可以正常使用，因为有些模块还没有安装齐全，所以现在测试网站暂时设置成了offline的状态--这也是drupal 4.7的新功能。</p>
<p>几个升级出错的数据表似乎并不影响Drupal的使用，一切运转良好，唯一的缺憾是AwTags到了现在还没有推出升级版本，我在作者的网站上一催再催，仍然不见动静，作者的网站似乎也时好时不好的。这也是使用contributed 模块的风险之一吧，一旦过于依赖某一个模块而那个模块又不在推出更新时，便遇到了大问题。眼下如果想升级到 drupal 4.7 对于tags两个选择，一是写个脚本，把awtags全部转化为freetags；二是不管作者，自己升级AwTags。相比而言，第二种选择更简单一些，因为Drupal提供了较为详尽的模块升级指南，只可惜这阵子比较忙，不知道什么时候才能有空做这件事情。呵呵，希望尽快可以闲下来：）</p>
    ]]></content>
  </entry>
  <entry>
    <title>drupal的多站点支持</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/node/1210" />
    <id>http://kzeng.info/node/1210</id>
    <published>2006-02-06T22:02:47-05:00</published>
    <updated>2006-02-06T23:12:23-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="多站点支持" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>Drupal提供了一套非常有用的多站点支持方案，所谓多站点支持，就是使用一个drupal，一个空间，建立理论上无穷多的网站。举个最简单的例子，一般的空间，只允许有限个的域名指向（pointing），譬如我使用的site5的服务，可以有5个域名指向我的空间；但是却允许无数个域名停靠（parking）。这些”停靠“的域名类似一个自动的跳转，当你输入这个域名（譬如，www.ourblogs.org ），它就会自动转接到它做”停靠“的空间（譬如 <a href="http://www.kzeng.info">www.kzeng.info</a>），而不能拥有自己的子目录。但是drupal的多站点支持使得停靠的域名也和真正的域名一样，有完备的自己的子目录，一个范例就是我这里的 http：//www.ourblogs.org 它停靠在 <a href="http://www.kzeng.info">http://www.kzeng.info</a> 上，但是如果你从 ourlogs.org 进入我的blog，页面所有的链接都是形如 http：//www.ourblogs.org/node/... 的，图片的链接也是自动转换的，十分方便，特别适合像俺这样被封掉了域名的blogger使用：）下面就简要的介绍一下如何使用drupal的多站点支持。
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Drupal提供了一套非常有用的多站点支持方案，所谓多站点支持，就是使用一个drupal，一个空间，建立理论上无穷多的网站。举个最简单的例子，一般的空间，只允许有限个的域名指向（pointing），譬如我使用的site5的服务，可以有5个域名指向我的空间；但是却允许无数个域名停靠（parking）。这些”停靠“的域名类似一个自动的跳转，当你输入这个域名（譬如，www.ourblogs.org ），它就会自动转接到它做”停靠“的空间（譬如 <a href="http://www.kzeng.info">www.kzeng.info</a>），而不能拥有自己的子目录。但是drupal的多站点支持使得停靠的域名也和真正的域名一样，有完备的自己的子目录，一个范例就是我这里的 http：//www.ourblogs.org 它停靠在 <a href="http://www.kzeng.info">http://www.kzeng.info</a> 上，但是如果你从 ourlogs.org 进入我的blog，页面所有的链接都是形如 http：//www.ourblogs.org/node/...  的，图片的链接也是自动转换的，十分方便，特别适合像俺这样被封掉了域名的blogger使用：）下面就简要的介绍一下如何使用drupal的多站点支持。</p>
<p>还是以我这里为例，我的主域名是 <a href="http://www.kzeng.info">http://www.kzeng.info</a> ，我想使得用户通过 http：//www.ourblogs.org 也可以正常访问我的blog的所有内容。首先，把 <a href="http://www.ourblogs.org">http://www.ourblogs.org</a> ”停靠“（park）在主域名空间上。然后在 drupal的安装目录下找到 sites 文件夹，打开，里面有一个default文件夹，是你站点的默认设置。在sites 目录下新建一个叫做www.ourblogs.org的文件夹，将default目录中的setting.php拷贝入这个www.ourblogs.org文件夹，然后用文本编辑器打开这个文件，把 $base_url 改为　http://www.ourblogs.org 即可。这样就使解决了使用一个drupal从不同域名访问的问题。</p>
<p>当然这只是一个最简单的例子，下面说说另外的例子。譬如我想让 <a href="http://www.kzeng.info">www.kzeng.info</a> 和 <a href="http://www.ourblogs.org">www.ourblogs.org</a> 成为两个完全不同的站点，这个实现也很方便，在www.ourblogs.org文件夹下，除了将setting.php的base url改为 <a href="http://www.ourblogs.org">http://www.ourblogs.org</a> 外，把数据库链接改为一个新的数据就可以了。</p>
<p>如果你想让两个完全不同的drupal共用一个数据库，记得在setting.php中对于两个drupal的数据库加上不同的前缀(prefix)即可。</p>
<p>这样的多站点支持不限于不同的域名，你也可以用IP地址和域名，以及不同子域名共享同一个drupal的code，建立相同的或是不同的drupal网站：）</p>
    ]]></content>
  </entry>
  <entry>
    <title>Drupa的安装</title>
    <link rel="alternate" type="text/html" href="http://kzeng.info/installing_drupal" />
    <id>http://kzeng.info/installing_drupal</id>
    <published>2006-01-31T21:35:44-05:00</published>
    <updated>2006-01-31T21:50:45-05:00</updated>
    <author>
      <name>kzeng</name>
    </author>
    <category term="drupal" />
    <category term="drupal安装" />
    <category term="drupal汉化" />
    <category term="Drupal" />
    <summary type="html"><![CDATA[<p>针对Drupal的安装写一个简单的教程。并讨论一下可能遇到的问题。</p>
<ol class="bb-list" style="list-style-type:decimal;">
<li>
<h3>下载Drupal</h3>
<p>Drupal可以在<a href="http://www.drupal.org" class="bb-url">它的官方网站下载</a>，现在那里有两个版本，4.6.5版是一个稳定的版本，4.7-beta4是最新版本的一个测试版。一般的用户可以下载4.6.5版。下载到本地后，用winrar或是winzip解压文件。</p>
<p></li>
<li>
<h3>修改配置文件</h3>
</p>
<p>与Wordpress与Mediawiki等程序不同，Drupal并没有一个自动安装的程序。在解压后的Drupal文件夹里找到 /sites/default/settings.php 文件,用文本编辑器打开(譬如windows自带的textpad，或者ultraedit），找到</li>
</ol>
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>针对Drupal的安装写一个简单的教程。并讨论一下可能遇到的问题。</p>
<ol class="bb-list" style="list-style-type:decimal;">
<li>
<h3>下载Drupal</h3>
<p>Drupal可以在<a href="http://www.drupal.org" class="bb-url">它的官方网站下载</a>，现在那里有两个版本，4.6.5版是一个稳定的版本，4.7-beta4是最新版本的一个测试版。一般的用户可以下载4.6.5版。下载到本地后，用winrar或是winzip解压文件。</p>
<p></li>
<li>
<h3>修改配置文件</h3>
</p>
<p>与Wordpress与Mediawiki等程序不同，Drupal并没有一个自动安装的程序。在解压后的Drupal文件夹里找到 /sites/default/settings.php 文件,用文本编辑器打开(譬如windows自带的textpad，或者ultraedit），找到<br />
<code><br />
$db_url = 'mysql://username:password@localhost/database';<br />
</code></p>
<p>把username改为你的MYSQL的用户名,password改为密码,  database改为你用来储存drupal的数据的数据库的名称。然后再找到<br />
<code><br />
$base_url = 'http://localhost';<br />
</code><br />
把http://localhost改为你的Drupal安装目录的Url；</p>
<p>如果你的空间只提供数目有限的数据库（譬如只有一个），你可以考虑让drupal与其它的 程序共用同一个数据库，在和Drupal有关的数据表前加上前缀，如果是这样的话，找到<br />
<code><br />
$db_prefix = '';<br />
</code><br />
在这里填上你需要的的前缀，譬如 'Drupal_'什么的。</p>
<p>到这里需要在本地作的修改工作就完成了。</p>
<p></li>
<li>
<h3>创建数据库结构</h3>
<p>用文本编辑器打开 /database/database.mysql，全选，拷贝，粘贴到你的网站空间提供的PHPMYADMIN中的运行脚本的文本框中，点击运行，Drupal的数据库结构就搭好了。当然如果你的空间提供 Shell Access，你可以直接用命令行完成创建数据库结构的工作（你必须先上传文件）。<br />
<code><br />
mysql -u username -p drupal_database_name < database/database.mysql<br />
</code></p>
<p></li>
<li>
<h3>上传文件</h3>
<p>上传所有的文件到你希望的Drupal安装目录。访问你的drupal的url，你创建的第一个用户就是drupal的管理员帐户。Drupal的安装完成。</p>
<p></li>
<li>
<h3>汉化</h3>
<p>到<a href="http://drupal.org/files/projects/zh-hans-cvs.tar.gz" class="bb-url">这里</a>下载drupal的汉化文件，解压缩得到po文件。进入 admin->localization，点击import，把刚才的po文件导入即可。如果出现超时导致导入失败，可以使用<a href="http://www.kzeng.info/drupal_chinese_files" class="bb-url">这里</a>没有合并前的po文件。</li>
</ol>
</p>
<p></p>
    ]]></content>
  </entry>
</feed>
