【问题标题】:How to theme add/edit form for custom content type in drupal 7如何在 drupal 7 中为自定义内容类型主题添加/编辑表单
【发布时间】:2016-07-21 13:03:14
【问题描述】:

我有 Drupal 7 站点。它具有自定义内容类型产品。它有 20 个字段。我想控制此内容类型的添加/编辑表单的 UI。

我在 sites/all/modules 下创建了一个模块。

  • admin_product
    -admin_product.info
    -admin_product.module

-admin_product.module

 <?php
 function admin_product_theme($existing, $type, $theme, $path){
 return array(
'product_node_form' => array(
  'arguments' => array(
      'form' => NULL,
  ),
  'path' => drupal_get_path('theme', 'myTheme').'/templates/forms',
  'template' => 'product-node-form',
  'render element' => 'form',
  )
  );
  }

在模板中-sites/all/themes/myTheme/templates/forms/product-node-form.tpl.php

-product-node-form.tpl.php

 <?php
 echo drupal_render_children($form);
 echo 'hello template';  // just to test
 ?>

模板未呈现。

如何控制表单的 UI?

非常感谢任何帮助。

【问题讨论】:

    标签: php forms drupal drupal-7


    【解决方案1】:

    我认为你需要的只是Field Group 模块。借助此模块,您可以将所有字段组织成组(即 div、选项卡等)。其余的东西可以通过 CSS 来制作。

    其他方法是使用hook_form_FORM_ID_alter() 钩子,或者特别是hook_form_node_form_alter(),来改变你的表单。

    无论如何,在 Drupal 7 中 Form APITheme API 不同,您提供的代码毫无意义 :) 抱歉 :)

    【讨论】:

      【解决方案2】:

      如果您要添加的主题不是该站点的默认管理主题,则该模板将不会在管理区域中获取。

      您必须将此代码添加到自定义模块或基于管理主题(例如,七)创建一个子主题,然后选择它作为您的管理主题并将代码放在那里。

      在这里找到了很好的解释:https://drupal.stackexchange.com/questions/33253/how-do-you-theme-a-content-types-create-edit-form-in-drupal-7

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 2014-06-22
        • 2019-03-23
        • 2011-10-11
        • 2014-10-30
        相关资源
        最近更新 更多