Drupal建站经验总结

公司网站改版,我选择了世界最流行的开源cms系统drupal作为管理后台,一是为了以后能更好的扩展网站内容和方便地更新,二是为了学习别人设计系统的思路。

经过两个多星期的摸索,终于把drupal玩转了,总结了以下几点快速建站经验:

1、了解模板结构,最简单的方式就是下载一个模板,然后根据里面的结构来改,php不是必须的,html和div+css才是必须的
2、了解drupal架构组成:drupal只是一个平台,很多功能都是通过扩展来完成的,扩展很多,基本想要的功能都有
3、扩展:cck是很有用的,跟我当年设计的ayeahcms的设计功能是一样的,只是比我做的更细致一些,功能更强
4、扩展:views是必备的,自定义输出、调用就靠它了
5、clear url比较麻烦,不过我还是搞定了,用了iis下面的url rewrite

最后总结,drupal很强大,但别期望drupal是傻瓜化,没点底子还是别折腾这东西,老老实实用国产的phpcms,discuz,dedecms等简单的系统吧。想要玩转drupal,最少要有这几下子:div+css、javascript、英文要好、熟悉iis/apache等配置,当然,如果懂php编程,那就更好了。

我不懂php,不过还好功底比较厚,总算搞定了drupal。

 

C#操作Xml的两种方式 XPath XmlDocument XmlNodeList

<?xml version="1.0" encoding="utf-8" ?>
<Company>
<Department >
<Name>IT Department</Name>
<Manager>猪头三</Manager>
<Employees>
<Employee>
<ID code="001" >10001</ID>
<Name>西门庆</Name>
<Gender>男</Gender>
</Employee>
<Employee>
<ID code="002">10202</ID>
<Name>潘金莲</Name>
<Gender>女</Gender>
</Employee>
</Employees>
</Department>
</Company>

需要取得 Name 为 “西门庆” 的 Employee 节点,用XPath实现如下:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( Path.Combine( Environment.CurrentDirectory, "demo.xml" ) );
XmlNode emp = xmlDoc.SelectSingleNode( "/Company/Department/Employees/Employee[Name='西门庆']" );
//emp 即为 定位到的 Employee 节点

需要取得 code 为 002 的 Employee 节点, 用 XPath 实现如下:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( Path.Combine( Environment.CurrentDirectory, "demo.xml" ) );
XmlNode emp = xmlDoc.SelectSingleNode( "/Company/Department/Employees/Employee/ID[@code='002']/parent::node()" );

XPath 寻径简介 xml文件,是一种树状结构, XPath 是针对xml文件寻径的一种 pattern。以开头的xml数据为例,下面给出几个常用的情形:

  • 取得所有的 Employee
/Company/Department/Employees/Employee

XPath的开头是一个斜线(/)代表绝对路径

  • 取得所有的 Name,不分层次
//Name

XPath 以 // 开头表示不限层次的一种模式

  • 使用 * 匹配未知名称的元素(不能匹配未知层级)

1. 取得所有的 Employee

/Company/Department/Employees/*

2. 取得Department下,包含有 Employee 作为子节点的节点

/Company/Department/*/Employee
  • 使用 [] 选择分支

XPath中的元素索引,是从 1 开始的 我们要选择 第一个 Employee

/Company/Department/Employees/Employee[1]

选择最后一个Employee

/Company/Department/Employees/Employee[last()]

选择叫西门庆的Employee

/Company/Department/Employees/Employee[Name='西门庆']
  • 多路选择

XPath 用 | 或者 Or 进行多路选择

/Company/Deparment/Manager | /Company/Deparment/Name
  • 选择属性

XPath中的属性,使用@开头 选择所有的 code 属性

//@code
www.000webhost.com