如何删除CCK生成的Drupal内容类型中的默认标题和正文字段?

时间:2008-09-18 03:09:48

标签: drupal cck

使用内容创建工具包在Drupal中创建新内容类型时,您将自动在生成的表单中获取标题和正文字段。有没有办法删除它们?

5 个答案:

答案 0 :(得分:5)

如果您不是开发人员(或者您希望简化开发过程),另一种可能的解决方案是使用auto_nodetitle模块。 Auto nodetitle将允许您创建用于生成节点标题的规则。这些可以是程序化规则,被替换的标记,或者只是静态文本。值得一看,如果没有别的。

答案 1 :(得分:3)

要删除正文编辑类型,请展开“提交表单设置”并为正文字段标签添加空白。对于标题,您可以将其重命名为另一个文本字段。如果你真的不需要任何文本字段,你可以创建一个自定义模块,比如称为foo,并创建函数foo_form_alter(),当$ form ['type'时,用#value替换$ form ['title'] ] ['#value']是您的节点类型。

答案 2 :(得分:3)

无需安装任何东西:
编辑内容类型时,按“编辑”
(在编辑|管理字段|显示字段的菜单上)
点击提交表单设置

Body字段标签上的


将其留空,将删除Body字段。

答案 3 :(得分:2)

  

如果您不是开发人员(或者您想要的话)   为了简化开发过程),   另一种可能的解决方案是   利用auto_nodetitle模块。   Auto nodetitle可以让你创建   生成标题的规则   节点。这些可以是程序化规则,   替换或简单的令牌   静态文本。值得一看,如果没有   其他

并添加到 William OConnor's 解决方案......

遗憾的是,该模块的记录很少。在我看来,如果你使用PHP,它真的很有效。选中“在模式中评估PHP”并输入“标题模式”字段,如:

<?php echo $node->field_staff_email[0]['email']; ?>

或:

<?php echo $node->field_staff_name[0]['value'] . '-' . gmdate('YmdHis'); ?>

...我有一个内部名称为“field_staff_email”且使用CCK电子邮件模块的字段 - 因此使用了“电子邮件”类型。或者,我有一个内部名称为“field_staff_name”的字段,它只是一个普通的文本字段 - 因此使用了'value'类型。最后的gmdate()调用是为了确保唯一性,因为您可能有两个或多个名为相同的工作人员。

我发现这一切的方式是首先尝试:

<?php print_r($node); ?>

...当然这给了疯狂的结果,但至少我能够解析输出并弄清楚如何在这里正确使用$ node对象。

请注意,如果您使用这些PHP例程中的任何一个,那么您最终会在Drupal Admin中显示内容列表,显示与PHP编码完全相同的条目。这就是我不仅仅使用gmdate()的原因,因为那时可能很难找到我的记录进行编辑。

另请注意,您可以在gmdate()上使用Base-36转换以减小输出的大小,因为gmdate('YmdHis')相当长。

答案 4 :(得分:0)

最初的答案都很好。正如标题部分的另一个想法......如何为cck节点类型创建自定义模板文件。您可以将node.tpl.php复制到node-TYPE.tpl.php,然后编辑新文件并删除标题的呈现位置。 (别忘了清除缓存)。

这样做意味着每个节点仍然有一个标题,所以对于内容管理,你不会留下空白标题或类似的东西。

HTH!

相关问题