教程(Tutorials)

原文地址:http://drupal.org/documentation/customization/tutorials

本教程详细解释了如何一步一步的实现一个总体目标。例如,解释如何创建一个摄影网站,让内容提供者提交图片的过程;或设立一个电子商务网站,如何使用一组模块,并解释一些保证性能的方法。教程通常不解释独立的任务或如何解决某些特定问题,这些最好在HOWTO文档中提供。

本节包含的教程都是(Drupal)社区的贡献,参与进来吧,分享您的知识

如果你希望与其他社区成员分享你已经完成的一些内容,请单击“添加子页”的链接,并描述你已采取的步骤。相信我们,有很多用户会很高兴的知道你是怎么做一、二、三的。

在其它手册中也有一些教程内容,这是链接:

多站点安装

 

 

Colorbox - 给图片说明文字添加上超链接

原文地址:http://drupal.org/node/1511472

这个教程将会向你展示如何给出现在Colorbox弹出框里的图片说明文字添加链接

也就是下面这个效果

我的每一张图片都是单独的一个节点,这意味着它们都有不同的链接地址(URL),节点内含有图片的描述,评论以及其他的一些相关信息。我原以为向一个图片的说明文字添加指向该图片完整节点的链接会很简单,但是,捣鼓了几个钟头theme_colorbox_image_formatter()这个函数后,我意识到图片标题(例如说明文字)是由javascript生成的,根本就无法将其链接到图片的完整节点(至少那些Views中的colorbox图像幻灯片就无法做到)。

所以,我用下面的方法来实现将图片说明文字链接到完整节点的功能。

我所使用的是:

  • Views 7.x-3.3
  • Colorbox 7.x-1.2

1.复制以下包含在colobox.theme.inc(/sites/all/modules/colorbox/colorbox.theme.inc)里的函数到你主题的template.php文件里:

  • theme_colorbox_image_formatter()
  • theme_colorbox_imagefield

2.将函数的"theme_"前缀改为你自己主题的名字,例如,我用是Corolla主题,所以我把上面的函数名称改为:

  • corolla_colorbox_image_formatter()
  • corolla_colorbox_imagefield

3.在corolla_colorbox_image_formatter()这个函数中将以下代码:

  return theme('colorbox_imagefield', array('image' => $image, 'path' => $path, 'title' => $caption, 'gid' => $gallery_id));

改为:

  $img_node_url_options = array('absolute' => TRUE);
  $img_node_url = url('node/' . $node->nid, $img_node_url_options);
 
  return theme('colorbox_imagefield', array('url' => $img_node_url, 'image' => $image, 'path' => $path, 'title' => $caption.'|||'.$node->nid, 'gid' => $gallery_id));

如此基本上我们就的得到了我们想要的图片完整节点的URL,另外我们还为说明文字添加了一个分隔符,例如在上面的代码中我们就添加了“|||”分隔符。你也可以任意添加你喜欢的分隔符,但你需要确保你更新了你的javascript来进行相应的匹配。

4.在corolla_colorbox_imagefield()这个函数中我们将以下代码:

  $options = array(
    'html' => TRUE,
    'attributes' => array(
      'title' => $variables['title'],
      'class' => implode(' ', $class),
      'rel' => $variables['gid'],
    )
  );

改为:

  $options = array(
    'html' => TRUE,
    'attributes' => array(
      'title' => $variables['title'],
      'class' => implode(' ', $class),
      'rel' => $variables['gid'],
      'url' => $variables['url'],
    )
  );

以上代码的更改仅仅将节点的URL以属性的形式传递给了指向图片的链接

5.现在我们需要添加一些javascript(更确切地说是jquery)到我们的页面上。我所选择的方法是创建一个含有一些必要的代码的javascript文件,然后在我主题的.info文件里调用它,如下:

scripts[] = custom.js

6.将以下代码复制到custon.js文件里:

(function ($) {
  Drupal.behaviors.addLinkToColorboxCaption =  {
    attach: function(context, settings) {
      var imgTitle = $('#cboxTitle').text();
      var titleArray = imgTitle.split("|||");   
      var url = $("a[title='"+imgTitle+"']").attr("url");
      $('#cboxTitle').html('<a href="'+url+'" target="_blank" title="View this image\'s details.">'+titleArray[0]+'</a>');
    }
  };
})(jQuery);

到现在为止,你已经在你的template.php文件中添加了两个函数,另外也在页面载入时调用了你所添加的javascript文件,你的colorbox图片说明文字此时应该含有指向图片完整节点的链接了!

希望这些能够帮到你,

艾瑞克

附件文件大小
Screenshot of Caption Link 325.13KB

drupal 的vps设置概述

Setting up a VPS for your Drupal sites - overview and considerations

原文链接:http://drupal.org/node/1426870

许多人希望把他们的站点托管于专业的公司(IDC),由专业公司来维护服务器和软件的环境而自己能专注于Drupal站点的建设。但是也有不少人有需要或者本身就有兴趣去配置自己的站点服务器。前些日子,在LinkedIn上出现过一个讨论:从一个共享主机的站点迁移到完全DIY的虚拟个人服务器(VPS,Virtual Private Server),站长需要掌握什么知识呢?

在一个VPS上你拥有管理员的权限来控制你的服务器(当然不包括硬件…)。相比共享的主机站点,这给了你很大的自由度和弹性,但是这也意味着你需要做更多的工作,比如:你需要不时的更新你的站点,打打补丁,升级杀毒软件…,这些在共享的主机服务上,你是大可不必去考虑的。

本文的主要内容就是尝试列举出安装一个Drupal站点的VPS所需要的一些典型的组件和方法。这篇文章不是一篇手把手教你配置的文章,而是一篇对安装相关的知识和选择进行一个概述的文章。文章中列举的一些程序和公司也是举例进行的说明,你可以,但是不一定要那样选择。你可能也知道,现在存在不少的服务器安装脚本,比如:Aegir、Barracuda/Octopus和LAMP 包,这些脚本可以半自动或者全自动的完成整个安装的过程。但是在你安装这些脚本之前,最好考虑研究下脚本的参数和选项。

为了安装和管理你的虚拟服务器,你需要对Linux系统比较熟悉或者你有很强烈的兴趣去学习它。注意,Linux的学习曲线也是比较长的,至少不比Drupal短!

1.        域名:你需要为你的站点申请一个域名,同时你可能也需要接触域名服务器来进行一些关联的配置,很多的域名注册站点提供此类的服务。

2.        邮件服务器,为了使你的drupal站点能够对外发送邮件,提示一些更新之类的内容,你需要一个邮件服务器。你当然也可以在你的VPS上面架设一个邮件服务,但是更好的方法是使用Google Apps。即便你的站点是在VPS上面,你也可以让Google处理你的邮件发送。

3.        托管公司:你需要一个能提供VPS的托管公司,VPS的类型有Windows和Linux,Linux类型的VPS通常比较便宜,以下的文章内容也是假定你使用的是Linux类型的VPS。

4.        Linux 的发布版本:你需要选择一个Linux的发布版本。有些托管公司只提供少数版本供选择,有些则提供很多。Debian, Ubuntu或者Cent OS是比较流行的选择的Linux的发布版本。网上有很多教程和博客提供关于如何配置、使用这些平台的资料。

5.        SSH服务器,通常在安装系统的同时你会安装一个SSH的服务来提供命令行的访问交互。

6.        Web操作页面(可选):诸如Webmin或者Virtualmin的软件提供网页交互管理的界面。Webmin和Virtualmin可以进行配置,当你的服务器有更新的时候邮件通知你。Aegir 和Barracuda/Octopus 提供一个网页的控制面板来管理你的Drupal站点。

7.        Web服务器:你需要安装一个Web服务器,Apache 和Nginx是两个最常用的Web服务器,Apache有更多的文档可以参考,Nginx则速度更快并且占用更少的内存。

8.        数据库:你需要安装一个数据库,通常是使用Mysql,但是Postgres 或者MariaDB也挺常见的。

9.        本地邮件服务:即使你使用Google Apps 来提供Email功能,你也需要一个从你的VPS发送到Google邮箱的本地邮件服务。这个邮件服务只接受VPS上运行的程序的内部连接,Postfix或者EXIM 是两个可供的选择。

10.    虚拟主机:你需要了解如何建立、删除、修改Apache 和Nginx的虚拟主机配置,来支持你VPS上的各个站点。

11.    Drush:安装Drush可以为一些日常Drupal相关的任务提供更多的帮助,比如升级Drupal模块和核心。

12.    缓存:如果你的网站的访问量很大,你可能需要安装Varnish, Memcache或者其他缓存类的组件来提升性能。

13.    备份:一些托管公司提供的备份服务可以备份整个VPS。你可以使用Backup and Migrate 模块来备份Drupal数据库。备份的类型选择需要根据你的站点所提供的服务的来确定。

 

你选择的VPS托管公司可能提供一些教程资料甚至是安装脚本来帮助你。如果你选择比较流行的Linux发布版本或者软件,得到的便利是你可以搜索互联网获取很多的教程和博客。Drupal.org 也是一个很好的寻求帮助和建议的站点。由于软件和版本的多种多样,教程和博客上的文章或许和你遇到的环境不同,所以遇到困难和挫折是难免的~

使用Views模块定制基于内容类型的页面

原文链接:http://drupal.org/node/1059510

这个文章是为D6写的,我将补充部分D7的内容。

在此描述如何做一个页面(page),它使用views模块,并根据内容类型进行外观定制。

我能找到很多做显示套件用的模块,你可以通过它们进行一个节点页面的定制设计,如果编辑相应节点的tpl.php文件(node-CONTENTYPENAME.tpl.php),你可以为这个内容类型的每个页面定制外观。在很多情况下,我会建议使用这些模块和技术,但在某些情况下,你可以仅使用Views模块,它不仅容易得多,而且更灵活。例如,添加、修改和创建动态元素。

我在网站上发布了一个招聘启事,并希望通过Views模块进行配置外观。招聘启事的内容类型为“create a job(创建一个职位)”,包含几个字段,比如职位、工作地点等,在这个教程里,唯一重要的字段是标题字段。

在views里创建新的View,type=node(D7中跳过这一步,直接选择显示内容/类型:内容/create a job)并适当配置一些默认的设置。

  • 过滤器:已发表= YES
  • 过滤器:类型=“create a job”
  • 字段:title

我没有把剩余的设置都做了,因为必要的都有了(当然,你有一些想加的字段,我们可以稍后做)。

然后,增加一个显示(Displays)=“页面(Page)”,在D7中,如果你在上一步选择了创建页面,那么这里就可以不用设置。这将显示由管理员创建的所有职位列表。然后,显示格式为表格,但你可以使用任何你喜欢的。

接下来是重点。

在标题字段选择“REWRITE RESULTS”>"output this field as a link(以链接方式输出)",并设置链接为“jobs/ [title]”。作为URL的组成部分,"jobs"是我的网站url别名设置的要求,你可以不用这个名称。最重要的是替换模板"[title]"(这需要安装令牌模块 -没有的话就去安装,它现在是D7内核的模块,因为它很有用) 。这个url链接到下一步我们要做的:创建页面。(我应该提到,这些都需要简洁URL配置,你应该有的)。

现在再创建一个新的显示(Displays)“页面(Page)”,这将是节点的新外观。现在用户将被引导到新的外观,而不必通过Drupal的标准页面导航。

现在你可以添加字段和过滤器了,并可以使用任何你想要的风格,然后你的页面就完成了。

注意:您需要限制:1"items per page:"1,这样其他页面的内容就不会影响到这个新页面。

现在你已经完成了页面的设置,并使它只显示一个item。但是用户怎么能看到这个View,你定义的输出链接又怎么用呢?

在“页面设置(Page Setting)”中的路径(Path)必须改变(在本例的情况下)为“jobs/%”。 %是通配符,因为你已经是以"title"为列表显示内容... ,这就链接到这个通配符!伟大的Views规则。

OK,现在你的jobs有了自己的外观页面,这就可以替代那些由Drupal内建的或者其它模块定义的静态页面了。

我觉得你也可以创建一个附件,这会工作的很好,但..也不一定。

您的默认节点页面仍然在Drupal中,但因为用户导航这个View,默认页面不会被看到。

(我采用了“Drupal的方式”说明,希望它能够清楚明白)

/ *************** /
/ *更新* /
/ *************** /

这里有一个小问题,当使用pathauto(我相信大多数人使用)。如果标题的URL链接和pathauto的链接相同,那么这个可能无法正常工作。因为曾经有两次它正常工作了。我不是假装理解这个问题,但我想该节点页仍然存在,Drupal想要链接到它。当然,如果URL是不同的,是没有冲突的。也可以考虑使用[path]字段进行替换,field->Node:Path(D7中应该是内容:路径)。

继续我们的例子。

设置pathauto和招聘页面不同的url相对目录,比如[work-with-us]和[work-us],那么所有的链接都会良好工作。我想不会再有绊脚石了。

注意:URL必须不pathauto的url相同。

使用扩展的Web服务

原文链接:http://drupal.org/node/1114218

本教程通过一些例子介绍了如何使用扩展Web服务模块规则和代码。

基本的安装和使用说明也可以在本模块的自述中找到。

 

使用REST服务:利用Web服务客户端模块和规则模块

原文链接:http://drupal.org/node/1114312

过程与SOAP Web服务几乎一样.

 

使用SOAP服务:利用Web服务客户端模块和规则模块

原文链接:http://drupal.org/node/1114308

介绍

本节通过例子描述在规则内使能Web客户端模块,来使用SOAP服务。

What

例子:温度转换

HOW

  • 1. 添加一个web服务描述
  • 2. 创建用户输入的节点表单(创建节点)
  • 3. 使用规则创建工作流程(快照
    • 事件:保存后的新内容(after saving new content)
    • 条件:给定的内容类型(content is of given type)
    • 行动:创建一个数据结构(create a data structure)
    • 动作:调用Web服务(call web service )(使用Web服务客户端
    • 行动:显示结果(display result)

Requirements

  • Drupal 7 (写作的时候: 7.0)
  • Rules模块(规则模块)(写作的时候: 7.x-2.0-beta1)
    • Rules
    • Rules UI
  • Web service client 模块(Web服务客户端模块)(写作的时候: 7.x-1.0-alpha3)
    • Web service client(Web服务客户端)
    • Web service client SOAP(Web服务客户端SOAP
    • Web service client UI(Web服务客户端UI)
  • PHP filter (PHP过滤器)(写作的时候: 7.0) 可选: 当需要时再提及

说明

(所有的快照集.)

  • 1. 管理 -> 配置 -> Web服务 -> Web服务描述 -> 增加Web服务描述 (快照)
  • 2. 添加内容类型“Celsius to Fahrenheit(摄氏到华氏)”,并增加浮点类型的温度输入字段(快照
  • 3. 管理 - >配置 - >流程 - >规则 - >添加新的规则:“Celsius to Fahrenheit(摄氏到华氏)”,事件选项为“After saving new content(新内容保存后的)”(快照
  • 4. 管理 - >配置 - >流程 - >规则 - >编辑应对规则(Editing reaction rule)“Celsius to Fahrenheit(摄氏到华氏)”
    • 加入条件:内容类型是“Celsius to Fahrenheit(摄氏到华氏)”(快照
    • 添加一个新的动作:创建一个数据结构(Create a data structure )
      • 选择动作,数据>创建一个数据结构(Data > Create a data structure)(快照
      • 类型:值:“Temperature Converter(温度转换器):CelsiusToFahrenheit”(快照
      • 继续
      • 摄氏(CELSIUS): 值(Value): [node:field-ctf-temp] (温度输入字段的名称) (快照
      • 已提供的变量(Provided variables):已创建的数据(CREATED DATA)(快照
        • 变量标签:Celsius input
        • 变量名:celsius_input
      • 保存
    • 添加一个新的动作(Add a new action): "Temperature Converter(温度转换器): CelsiusToFahrenheit"
      • 添加一个新的动作(Select the action to add): Web服务(Web services) > "Temperature Converter(温度转换器): CelsiusToFahrenheit" (快照)
      • 参数设置和名称 (快照)
        • 参数(PARAMETERS): 数据选择器(Data selector): celsius-input (在数据结构中指定的名称)
        • 已提供的变量(Provided variables): CELSIUSTOFAHRENHEITRESPONSE
          • 变量标签(Variable label): CelsiusToFahrenheitResponse
          • 变量名(Variable name): fahrenheit_output
        • Save
    • 添加一个新的动作: 在网页上显示消息(选项1:数据选择器)
      • 选择添加动作:系统>在网页上显示消息(System>Show a message on the site)(快照
      • 在消息(MESSAGE)中,选中按钮“切换到数据选择器(switch to data selector)“
      • 在数据选择器(Data selector)中输入: "fahrenheit-output:CelsiusToFahrenheitResult"(Web服务输出中的名称)
      • 保存
    • 添加一个新的动作: 在网页上显示消息(选项2:数据选择器和PHP evalution(需要PHP过滤器模块))
      • 选择添加动作:系统>在网页上显示消息(System>Show a message on the site)(快照
      • 在消息(MESSAGE)中使用数据选择器和PHP evalution(需要PHP过滤器)(快照
        • 消息:数据选择器(MESSAGE: Data selector): "fahrenheit-output:CelsiusToFahrenheitResult"
        • 消息:PHP EVALUATION(MESSAGE: PHP EVALUATION): return $value . ' Fahrenheit'; (不要包含
          <?php
           
          ...
          ?>
          标签)
    • 添加一个新的动作: 在网页上显示消息(选项3:直接输入和PHP evalution(需要PHP过滤器模块))
      • 选择添加动作:系统>在网页上显示消息(System>Show a message on the site)(快照
      • 在消息(MESSAGE)中使用直接输入和PHP evalution(需要PHP过滤器)(快照
        • 消息:值(MESSAGE: Value):
          <?php
          // var_dump($celsius_input); // do this to learn about the variable at hand
          // var_dump($fahrenheit_output);
          echo $celsius_input['Celsius'] . ' Celsius is ' . $fahrenheit_output->CelsiusToFahrenheitResult . ' Fahrenheit';
          ?>
        • 消息(MESSAGE): PHP EVALUATION: 查看变量名
  • 5. 完成规则 "Celsius to Fahrenheit(摄氏到华氏)" (快照)
    • 事件(Events)
      • 新内容保存后(After saving new content)
    • 条件(Conditions)
      • 内容类型是(Content is of type) "Celsius to Fahrenheit(摄氏到华氏)"
    • 动作(Actions)
      • 创建一个数据结构(Create a data structure) "Temperature Converter(温度转换器): CelsiusToFahrenheit"
      • 调用Web服务(Call web service) "Temperature Converter(温度转换器): CelsiusToFahrenheit"
      • 在网页上显示消息(Show a message on the site option) "data selector(数据选择器)"
      • 在网页上显示消息(Show a message on the site option) "data selector with PHP(数据选择器和PHP)"
      • 在网页上显示消息(Show a message on the site option) "direct input with PHP(直接输入和PHP)"
  • 6. 创建类型为 "Celsius to Fahrenheit"的内容,完成 :-) (快照)

执行结果:每次创建新内容保存后,呈现转换结果的提示条

 

使用Web服务:在代码中调用Web服务客户端模块

在10分钟内创建一个灯箱图片库

原文链接:http://drupal.org/node/587878

用最基本的方法来创建Drupal 6.x的神奇的图片库

    • - 不需要编码
    • - 不需要PHP知识
    • - 10个简单的步骤或更少
    • - 专业化的外观
    • - 真正定制

我花了很多时间去找,最后在一个网站上发现了。经过我的简化,这个方法真能在10分钟内创建完成一个图片库,而且看起来做工精良。

我真的费了很大劲,最后找到了最简单的做图片库的办法。但你不需要任何编码经验或PHP知识。很简单,当然,一些CSS技巧将确保您的图像块跟你想的一样(垂直,水平等)。

玩得开心!

图片库设置

1.安装的Drupal

2.上传这些模块到你的网站:(不用担心,这听起来像很多...还好,这些只是微小的模块)

3。使能上述模块

4。设置管理这些模块的权限

5。管理>内容管理>内容类型>添加内容类型(D7中为管理>结构>内容类型)

调用“imagegallery”,并设置适当的设置

6。添加新的字段,内容类型“image gallery”

    • 标签:图像(image)
    • 领域:field_image
    • 类型:文件(file)
    • 元素:图像(image)
    • 元素数量(number of values):不限制(允许上传多张图片)

7。building> imagecache(在D7中?)

    • 创建新的预设称为“缩略图”
    • 使用“缩放(scale)”选项
    • 设置缩放到200px宽(或所需的宽度,我喜欢200像素,这样所有缩略图都有相同的像素数)

8。内容管理>内容类型(在D7中结构>内容类型)>"image gallery"的管理字段

    • 单击“image gallery”的子菜单的“显示字段”
    • 标签:
    • teaser:
    • 全节点:Lightbox2幻灯片:缩略图->原始图片

9。创建一个图片库!

10。确保把它放到菜单中或自己记住它的链接,以便您可以查看。

11。可选:可在灯箱模块中添加设置,例如做自动循环幻灯片

 

帮助过我的链接:
http://www.gurucomputers.com/blog/building-better-drupal-photo-gallery

 

定制维护页面HTML

原文地址:http://drupal.org/node/1209088

译者:这个文档描述的Drupal 6.x的维护页面定制方法。对D7应该也有一定的参考意义。 虽然是Drupal 6.x的文章,但觉得这篇文章有点Drupal way的意思,所以强自翻译,请指正。

原文如下:

当网站处于维护模式下时,我们期望不管用户输入本网站url是什么,都会被引导到一 个维护界面上。在Drupal 6.x中,我们可以通过如下方法做到这一点。

 

在"root/themes/garland/page.tpl.php"或默认维护主题的page.tpl.php中定义site-offline.html:(译者:在同一目录的template.php定义更合适一些,它会覆盖系统默认函数)

function phptemplate_maintenance_page($content, $messages = TRUE, $partial = FALSE) {
  drupal_goto('path/to/your/site-offline.html');
}

这种方法来源于http://blah.com/offline.html,它的缺点是不允许用户刷新页面。

在脱机维护时,你想使用定制的主题作为脱机维护页面,但系统不允许你使用。这时,你需要修改位于“root/sites/default”的settings.php的文件权限,增加读,写,执行权限。然后,取消以下三行代码的注释状态,并将维护主题从"garland"修改为你希望的主题,比如是minnelli。

修改前:

#   $conf = array(
#   'maintenance_theme' => 'minnelli',
#   );

修改后:

    $conf = array(
        'maintenance_theme' => 'minnelli',
    );

这将让你得到你期望的维护主题,但它与一些主题匹配得并不好,而且缺乏灵活的.css或者HTML内容。

这将允许您完全定制HTML页面作为脱机维护页面,不需要file.html的扩展,它仍然在以前的页面上。按照方法二的指示进行设置,除了主题部分,也不包括maintenance-page.tpl.php 和 maintenance-page-offline.tpl.php的内容。在设置了settings.php后,复制两份page.tpl.php,分别命名为"maintenance-page.tpl.php" 和"maintenance-page-offline.tpl.php"。删除这两个文件的全部内容,并创建如下几行:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language->language ?>" xml:lang="<?php print $language->language ?>">

<?php
  $head_title = 'Site Offline';
  $content =
?>
  
<head>
  <title><?php print $head_title ?></title>
  <?php print $content ?>
    <!--[if lt IE 7]>
    <style type="text/css" media="all">@import "<?php print base_path() . path_to_theme() ?>/fix-ie.css";</style>
    <![endif]-->
  <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?></script>
</head>

<?php
$theme_width = "width";
$theme_width = theme_validate_page_width($theme_width);
?>
</html>

注:确保在php部分的底部,使用你期望的主题宽度函数替换掉theme_validate_page_width($theme_width)。

接下来,按照你的想法,生成.html和.css配置文件,例如:

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html lang='en-US'><head><title>site is Offline</title>
	<link rel='alternate' type='application/rss+xml' title='site.com' href='http://site.com/feeds/general'>
	<link rel='SHORTCUT ICON' href='sites/default/files/favicon.ico'>
<style>body {
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 76%;
	color: #000;
	margin: 20px;
	background: #292929;
	text-align: center;
}
a
{
	color: #EFEFEF;
	font-weight: bold;
}
a:link {
	}
a:visited {
	}
a:active {
	}
h2 {
	font-size: 1.5em;
	border-bottom: 1px solid silver;
	padding-bottom: 3px;
	clear: both;
	}
pre {
        max-height: 240px.........
</style></head>

如下是网页的.css配置,最后把你的HTML完成。

</head>
<body>
<div class='logo'><a href='http://site.com'><img src='sites/default/files/sitelogo.png' 
<div class='content'>
</div>
<div class='footer'>
</div>
</body>
</html>

一旦你准备好“site is offline page”和“site maintenance page”的html内容后,用"替换所有的',并用'括起来,当然也可以采用其他方式。如果是html中必须有的'和"可以用'和"替代。当这些都对齐之后,把文件内容粘贴到‘$content =’之后,注意,'='之后要有一个空格,并在html之后增加‘;’。

感谢你读这篇教程,我希望这对你有用。 :)

  • 方法一、
  • 方法二、
  • 方法三、

解决图片模块问题(通过图标分享图片到网页)

原文链接:http://drupal.org/node/434202

我的问题是想通过设置一个友好的图标在我的网站上,然后客户能够简单的添加图片到到他们的网站。
下面是步骤,现在我可以轻松的插入图片到网页.

首先清理一切,确保所有工作良好
1卸载所有image模块(勾去掉并且去卸载他们)
2打开ftp程序并且删除 site/default/filesm目录下的images文件夹
3 在ftp下,建立一个新的images文件夹
4 清楚缓存 (目录administer/site configuration/performance )
5确保网站的根目录是/sites/default/files,并且/tmp目录的download权限是public
6返回模块管理,在这一步安装image模块,你的默认图片路径应该是images而不是有其他工作
7安装新模块"WYSIWYG" "API Bridge" "TINYMCE" and "IMCE" (TINYMCE 需要安装在单独的文件夹下,并且在WYSIWYG 文件夹里)
8 进入站点配置, 输入格式化 设置默认的格式是FULL HTML(当你熟悉 格式wysiwyg,TinyMCE 你可以以后再改回来)。
9 为那些你允许的人配置规则是他们能够使用FULL HTML
10 进入站点配置 WYSWYG,为TinyMCE选择FULL HTML格式,如果没有这个选项就检查TINYMCS是否安装在WYSWYG模块下独立的文件夹
11 点击编辑按钮,点击按钮和插件的菜单,选择你想使用的那些图标目的是建立网页时候使用他们,确保Image和IMCE项目被选择,HTML区块格式是另一个很好的方法在你的网站上。
12暂时忽略"Editor Appearance" and "Cleanup and Output"
13确保 CSS编辑器是默认的
14保存

现在,理论上你应该能够使用Tiny MCE 模块编辑添加文章,一个image图标在工具栏上,当你点击图标的时候,第一行的末尾出现/IMAGE/URL,应该有一个浏览按钮,剩下的就留给你了,这样就可以通过一个友好的图标添加到网页里面.