2008-09-18 4 views

Antwort

5

Wenn Sie kein Entwickler sind (oder den Entwicklungsprozess abkürzen möchten), können Sie auch das Modul auto_nodetitle verwenden. Auto nodetitle lässt Sie Regeln erstellen, um den Titel des Knotens zu generieren. Dies können programmatische Regeln, Token, die ersetzt werden, oder einfach statischer Text sein. Einen Blick wert, wenn nichts anderes.

3

, um den Körper zu bearbeiten, die Art, erweitert „Submission Form Einstellungen“ und setzte in freiem Raum für Körperfeldbeschriftung zu entfernen. Für den Titel können Sie ihn in ein anderes Textfeld umbenennen. Wenn Sie wirklich keine Notwendigkeit für Textfelder haben Sie ein eigenes Modul erstellen können, sagen foo genannt und Funktion foo_form_alter create() die $ Form ersetzt [ ‚title‘] mit einer #value wenn $ form [ ‚type‘] [ '# Wert '] ist Ihr Knotentyp.

+0

Dies funktionierte gut für das Body-Feld, aber ich bevorzuge das Auto_nodetitle-Modul zum Entfernen des Feldes Name. Danke! –

2

Wenn Sie kein Entwickler sind (oder Sie wollen den Entwicklungsprozess abzukürzen), eine weitere mögliche Lösung ist, das auto_nodetitle Modul nutzen. Auto nodetitle werden Sie Regeln zur Erzeugung der Titel des Knoten lassen erstellen. Diese können programmatische Regeln sein, Token, die ersetzt werden, oder einfach statischer Text. Einen Blick wert, wenn nichts sonst.

Und William OConnor's Lösung hinzufügen auf ...

Das Modul leider schlecht dokumentiert ist. Es ist wirklich nur effektiv, wenn Sie PHP damit meiner Meinung nach verwenden. Überprüfen Sie den „Werten Sie PHP in Pattern“ und geben Sie in das „Muster für den Titel“ Feld so etwas wie:

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

oder:

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

... wo ich ein Feld hatte mit einem internen Name von "field_staff_email" und verwendete das CCK E-Mail-Modul - daher wurde der E-Mail-Typ verwendet. Oder ich hatte ein Feld mit dem internen Namen "field_staff_name" und war nur ein gewöhnliches Textfeld - daher wurde der 'value'-Typ verwendet. Der Aufruf von gmdate() am Ende dient dazu, die Eindeutigkeit zu gewährleisten, da zwei oder mehr Mitarbeiter dasselbe benannt haben können.

So wie ich das alles mit, indem man zuerst das Experimentieren entdeckt wurde:

<?php print_r($node); ?> 

... was natürlich verrückt Ergebnisse gab, aber zumindest konnte ich die Ausgabe analysieren und herauszufinden, wie die verwenden $ Node-Objekt hier richtig.

Wenn Sie eine dieser PHP-Routinen verwenden, müssen Sie nur die Inhaltsliste in Drupal Admin anzeigen, die Einträge genau so zeigt, wie Sie PHP programmiert haben. Aus diesem Grund habe ich nicht nur gmdate() alleine verwendet, weil es dann schwierig sein könnte, meinen Datensatz zum Bearbeiten zu finden.

Hinweis: Sie können möglicherweise auch die Base-36-Konvertierung für gmdate() verwenden, um die Ausgabegröße zu reduzieren, da gmdate ('YmdHis') relativ lang ist.

3

keine Notwendigkeit, etwas zu installieren:
, wenn die Inhalte des Typs bearbeiten, drücken Sie auf „Bearbeiten“
(im Menü von Bearbeiten | Felder verwalten | Anzeigefelder)
Klick auf die Submission Einstellungen Form

auf Das Textfeld "Body":
Lassen Sie es leer, es würde das Feld "Body" entfernen.

0

Die ersten Antworten sind alle gut. Genau wie eine andere Idee für den Titel Teil ... wie wäre es mit dem Erstellen einer benutzerdefinierten Vorlage für den Cck-Node-Typ. Sie würden node.tpl.php in node-TYPE.tpl.php kopieren und dann die neue Datei bearbeiten und entfernen, wo der Titel gerendert wird. (Vergessen Sie nicht, Ihren Cache zu löschen).

Auf diese Weise bedeutet, dass jeder Knoten noch einen Titel hat, so dass Sie für die Inhaltsverwaltung keine leeren Titel oder ähnliches haben.

HTH!

Verwandte Themen