Forms 如何使用drupal使用各种节点类型制作多步骤表单

Forms 如何使用drupal使用各种节点类型制作多步骤表单,forms,drupal,cck,drupal-ctools,Forms,Drupal,Cck,Drupal Ctools,我正在创建一个非常基本的分类广告网站。在这个网站上,我会有各种各样的内容类型;例如: 汽车(具有cck字段:年、公里、颜色 房屋(包含cck字段:楼层数、花园(是/否) 因此,每个“元素”都是一种内容类型 我在一个视图中列出所有的内容类型,并显示给用户a,然后单击一个链接进入“创建类型的内容类型(单击类型)” 它工作得很好;但我无法摆脱create页面顶部的“create new car”(这反映了“drupalish”行为) 我想用一种更方便的方式,如三步式: 选择类别 选择你的选择 注册以发

我正在创建一个非常基本的分类广告网站。在这个网站上,我会有各种各样的内容类型;例如:

  • 汽车(具有cck字段:年、公里、颜色
  • 房屋(包含cck字段:楼层数、花园(是/否)
  • 因此,每个“元素”都是一种内容类型

    我在一个视图中列出所有的内容类型,并显示给用户a,然后单击一个链接进入“创建类型的内容类型(单击类型)”

    它工作得很好;但我无法摆脱create页面顶部的“create new car”(这反映了“drupalish”行为)

    我想用一种更方便的方式,如三步式:

  • 选择类别
  • 选择你的选择
  • 注册以发布您的新分类
  • 我见过ctools;它提供了“几乎”多步骤的行为;但是我无法想象我所有的十几种内容类型都被“硬编码”在一个模块中

    我想知道是否有人已经实现了这种设置,或者是否有一种模块可以做到这一点。我想对每种类型的内容都进行分类(网站管理员现在已经习惯了界面)


    任何帮助,起点都将不胜感激。

    第一步,我们必须解决一个类似的问题。为此,我们创建了一个基本上覆盖了/node/add页面(列出所有内容类型的页面)。要更改标题,最简单的方法是创建一个yourtheme\u preprocess\u页面()当url为/node/add或node/*/edit时更改标题的函数

    然而:我强烈建议切换到一个所有列表都使用一种内容类型的系统。我们创建了一个非常类似的网站,在使用不同的内容类型之后,这是因为很明显,使用一种带有条件显示字段的内容类型是一个更明智的解决方案。为不同的产品类型使用类别s、 然后使用条件字段模块隐藏和显示正确的字段,效果会更好

    下面是在页面预处理函数中设置标题的示例代码段:

    在节点/添加页面上设置标题:

      if (arg(0) == 'node' && arg(1) == 'add' && arg(2) == '') {
        $vars['title'] = 'Choose an Industry';
        $vars['head_title'] = $vars['title'] . " | " . variable_get('site_name', "Industry Trader");
      } 
    

    在第一步中,我们必须解决一个模拟问题。为此,我们创建了一个基本上覆盖/node/add页面(列出所有内容类型的页面)。要更改标题,最简单的方法是创建一个yourtheme\u preprocess\u page()函数,该函数在url为/node/add或node/*/edit时更改标题

    然而:我强烈建议切换到一个所有列表都使用一种内容类型的系统。我们创建了一个非常类似的网站,在使用不同的内容类型之后,这是因为很明显,使用一种带有条件显示字段的内容类型是一个更明智的解决方案。为不同的产品类型使用类别s、 然后使用条件字段模块隐藏和显示正确的字段,效果会更好

    下面是在页面预处理函数中设置标题的示例代码段:

    在节点/添加页面上设置标题:

      if (arg(0) == 'node' && arg(1) == 'add' && arg(2) == '') {
        $vars['title'] = 'Choose an Industry';
        $vars['head_title'] = $vars['title'] . " | " . variable_get('site_name', "Industry Trader");
      } 
    

    非常好!我将尝试condit.fields;您还可以提供预处理页面函数的简单说明吗?返回报告;将您的代码添加到template.php中的默认garland主题中没有任何作用;我仍然有“创建新的[内容类型]'header.Pretty neat!我将尝试使用condit.fields;您还可以提供预处理页面功能的简单说明吗?返回报告;将您的代码添加到template.php中的默认garland主题中没有任何作用;我仍然有'create new[content type]'标题。