Wie deaktiviere ich das Titelfeld in einem Inhaltstyp?


7

Ich verwende Drupal 7
Wie deaktiviere ich das Titelfeld in einem Inhaltstyp?

Antworten:


12

Ich denke, das Automatic Nodetitles- Modul ist genau das, wonach Sie suchen :

"auto_nodetitle" ist ein kleines und effizientes Modul, mit dem das Feld für den Inhaltstitel im Formular ausgeblendet werden kann. Um leere Inhaltstitelfelder zu vermeiden, können Sie sie so konfigurieren, dass der Titel nach einem bestimmten Muster generiert wird.


Eigentlich muss jeder Knoten einen Titel haben. Sie können es jedoch vor dem Benutzer und dem automatischen Knotentitel des Benutzers oder auf andere Weise in hook_node_pesave ausblenden, um ihm einen Titel zu geben.
BetaRide

Gibt es eine Möglichkeit, den Titelfeldtyp (exp float) zu ändern?
Abd

Der Titel ist eher eine Eigenschaft der Knotenentität als ein Feld ... er ist in den Hook-Implementierungen der Knotenentität ziemlich fest codiert. Sie können es vielleicht überschreiben, aber meiner Erfahrung nach kann das Fummeln mit diesen Teilen des Systems sehr chaotisch werden
Clive

1
Wenn Sie dies tun möchten, können Sie ein float_title-Feld erstellen und dann mit autonodetitle den Wert / das Token dieses Felds abrufen und dann den tatsächlichen Titel damit füllen (ich würde mir intern vorstellen, dass dies bedeuten würde, dass Sie ein float im haben Feld und die Textversion davon im Titel) und verstecken Sie es dann vor dem Benutzer, damit Sie keine doppelten Anzeigen haben, aber das scheint ziemlich hässlich / übertrieben, wenn man bedenkt, wie typlos PHP ist (es sei denn, Sie benötigen diesen Wert wirklich in einer Ansicht oder etwas?)
Jimajamma

1
Wenn Sie den Titel in ein Feld verwandeln möchten, können Sie auch das Titelmodul aufrufen, das erstellt wurde, um Titel zu regulären Feldern für das Entity Translation-Projekt zu machen. drupal.org/project/title
Patrick Kenny

1

Wie Clive vorschlägt, ist auto_nodetitle ein gutes Modul zum Entfernen des Titels aus dem Formular. Wenn Sie den Inhalt serialisieren möchten, ist seriell ein gutes einfaches Modul, das die von jimajamma erläuterte Aufgabe erledigt, jedoch mit einer automatisierten Seriennummer. Der einfachste Weg ohne benutzerdefinierten Code, um das Titelfeld vollständig von der Anzeige auszublenden (oder beliebige Felder dort zu platzieren, wo Sie möchten), ist die Anzeige-Suite .


0

Wenn Sie den Titel für eine Entität ausblenden müssen, können Sie Folgendes versuchen. (Beachten Sie, ich denke nicht, dass dies die beste Methode ist, und ich bin offen für Vorschläge, die dies verbessern). Fügen Sie dies in die template.php Ihres Themas ein

function THEME_preprocess_page(&$vars, $hook) {

  if(isset($vars['page']['content']['system_main']['ENTITY_TYPE'])) {
   drupal_set_title('');
  }
}

Dies geschieht, wenn die Entität im Bereich ['content'] der Seite angezeigt wird, ähnlich wie ein Knoten im Inhaltsbereich angezeigt wird, und dann den Titel in nichts geändert wird. Sie müssen THEMA durch den Namen Ihres Themas und ENTITY_TYPE durch die Entität ersetzen, deren Titel Sie unterdrücken möchten. Wenn dies nicht funktioniert, gehen Sie zu page.tpl.php und fügen Sie hinzu <pre> <?php print_r($vars['page']) ?> </pre>, laden Sie die gewünschte Seite neu und arbeiten Sie sich durch den Baum, um den Pfad in das Array zu finden, der das Objekt identifiziert, das Sie unterdrücken möchten.


0

Eine weitere Option in D7 und D8 (wo es sich im Kern befindet) ist das Titelmodul, mit dem Sie Titel wie ein Feld behandeln können, z. B. Titel im Anzeigebereich des Inhaltstyps als ausgeblendet festlegen und in einem Block mit dem Feld als Blockmodul anzeigen lassen um es in eine Seitenleiste usw. einzufügen

Die Modulmitarbeiter sagen:

Bei der Arbeit an dem neuen Inhaltsübersetzungssystem für Drupal 7 mussten wir (das Drupal Core i18n-Team) Knotentitel in die Feld-API konvertieren, um Knoten vollständig übersetzbar zu machen. Wir konnten dies im Drupal 7-Kern nicht realisieren, daher haben wir uns entschlossen, eine Lösung für dieses Problem zu finden: Die Idee besteht darin, Knotentitel durch Felder à la Automatic Nodetitles zu ersetzen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.