Drupal 7:如何将模板文件添加到/node/add/content-type

发布于 2024-10-11 15:44:40 字数 117 浏览 8 评论 0原文

在 Drupal 7 中,

我想通过模板文件将 /node/add/content-type 设置为 page--node--add--content-type.tpl.php。

请帮我。

In Drupal 7.

I want to themming /node/add/content-type by template file as page--node--add--content-type.tpl.php.

Please help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

_畞蕅 2024-10-18 15:44:40

你需要使用

页面--node--add--content_type.tpl.php

而不是

页面--node--add--内容类型.tpl.php

下划线(_)而不是破折号(-)

You need to use

page--node--add--content_type.tpl.php

instead of

page--node--add--content-type.tpl.php

underscore(_) instead of dash(-)

姜生凉生 2024-10-18 15:44:40

您需要在预处理函数中添加模板作为建议,或者您可以为表单创建自定义主题函数,该函数将使用所需的模板。这与 Drupal 6 中的完成方式非常相似,现在只有您可以在主题中执行 form_alters 操作。

You will need to add the template as a suggestion in a preprocess function or you can create a custom theme function for the form, that will use the desired template. This is much similar to how it was done in Drupal 6, only you can do form_alters in your theme now.

笔落惊风雨 2024-10-18 15:44:40

你可以将此函数添加到你的 template.php 中:
您可以 print_r() 您的表单并查看有哪些字段。

function yourThemeName_form_yourFormID_alter(&$form, &$form_state, $form_id) {
  // Modification for the form with the given form ID goes here. For example, if
  // FORM_ID is "user_register_form" this code would run only on the user
  // registration form.
print_r($form);      
}

you can add this function to your template.php:
you can print_r() your form and see what are the fields.

function yourThemeName_form_yourFormID_alter(&$form, &$form_state, $form_id) {
  // Modification for the form with the given form ID goes here. For example, if
  // FORM_ID is "user_register_form" this code would run only on the user
  // registration form.
print_r($form);      
}
梦里梦着梦中梦 2024-10-18 15:44:40

您正在为节点表单添加 tpl 文件。为此,您必须在主题下的 template.php 中定义 tpl 文件名。

  1. 首先创建 your_theme_name_theme()
  2. 在 tpl 表单上打印内容。

示例:在下面的示例中,contact_site_form 是内容类型的表单 ID。

your_theme_name_theme() {
   $items['contact_site_form'] = array(
  'render element' => 'form',
  'path' => drupal_get_path('theme', 'your_theme_name') . '/templates',
  'template' => 'contact-site-form',
  );
}

现在在您的路径位置创建一个文件 contact-site-form.tpl.php,如上面指定。

<?php echo render($form['name']); ?>
<?php echo render($form['mail']); ?>
.
.
.
<?php print drupal_render_children($form); ?>

您可以在给定方法中单独渲染每个元素。

You are adding tpl file for node form. For this you have to define tpl file name in template.php under your theme.

  1. First create your_theme_name_theme()
  2. Print content on tpl form.

Example: In below example contact_site_form is the form id of content type.

your_theme_name_theme() {
   $items['contact_site_form'] = array(
  'render element' => 'form',
  'path' => drupal_get_path('theme', 'your_theme_name') . '/templates',
  'template' => 'contact-site-form',
  );
}

now create a file contact-site-form.tpl.php in your path location as specify above.

<?php echo render($form['name']); ?>
<?php echo render($form['mail']); ?>
.
.
.
<?php print drupal_render_children($form); ?>

You can render each element separately in given method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文