使用内容创建工具包在Drupal中创建新内容类型时,您将自动在生成的表单中获取标题和正文字段。有没有办法删除它们?
答案 0 :(得分:5)
如果您不是开发人员(或者您希望简化开发过程),另一种可能的解决方案是使用auto_nodetitle模块。 Auto nodetitle将允许您创建用于生成节点标题的规则。这些可以是程序化规则,被替换的标记,或者只是静态文本。值得一看,如果没有别的。
答案 1 :(得分:3)
要删除正文编辑类型,请展开“提交表单设置”并为正文字段标签添加空白。对于标题,您可以将其重命名为另一个文本字段。如果你真的不需要任何文本字段,你可以创建一个自定义模块,比如称为foo,并创建函数foo_form_alter(),当$ form ['type'时,用#value替换$ form ['title'] ] ['#value']是您的节点类型。
答案 2 :(得分:3)
无需安装任何东西:
编辑内容类型时,按“编辑”
(在编辑|管理字段|显示字段的菜单上)
点击提交表单设置
:
将其留空,将删除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!