在 Drupal 7 中。
我想通过模板文件将 /node/add/content-type 设置为 page--node--add--content-type.tpl.php。
请帮我。
你需要使用
page--node--add-- content_type .tpl.php
代替
page--node--add-- content-type .tpl.php
下划线(_)而不是破折号(-)
您正在为节点表单添加 tpl 文件。为此,您必须在您的主题下的 template.php 中定义 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); ?>
您可以在给定的方法中分别渲染每个元素。
您需要在预处理函数中添加模板作为建议,或者您可以为表单创建自定义主题函数,该函数将使用所需的模板。这与 Drupal 6 中的做法非常相似,只是您现在可以在主题中执行 form_alters。
您可以将此功能添加到您的 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);
}