Automatischer Titel aus Body
Eingetragen von skate-rock (28)
am 11.12.2008 - 11:46 Uhr in
am 11.12.2008 - 11:46 Uhr in
Guten Tag Leute!
Ich würde bei meinen Stories gerne auf einen selbst angelegten Titel verzichten und
stattdessen die z.B. ersten 5 Wörter des Contents als Titel verwenden. Funktioniert das
irgendwie?
lg Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Modul
am 11.12.2008 - 12:22 Uhr
Moin!
Ich denke, das müsste über ein eigenes kleines Modul machbar sein.
Also, ein Modul anlegen (mytitle.info und mytitle.module), und dann
<?php
function mytitle_nodeapi(&$node, $op, $form = NULL, $page = NULL) {
switch ($op) {
case 'insert':
case 'update':
$node->title = _mytitle_get_words($node);
break;
}
}
function mytitle_form_alter($form_id, &$form) {
if (isset($form['#node']) && isset($form['#post']) && $form['#node']->type .'_node_form' == $form_id) {
$form['title']['#value'] = 'mytitle';
$form['title']['#type'] = 'value';
$form['title']['#required'] = FALSE;
}
}
function _mytitle_get_words($node) {
$words = str_word_count($node->body, 1);
if (count($words) > 5) {
$words = array_pad($words, 5, '');
}
return implode(' ', $words);
}
?>
in die mytitle.module
Ungetestet, sollte aber so ungefähr funktionieren.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Auto-Nodetitle & Token
am 11.12.2008 - 12:25 Uhr
Einfach geht das mit:
http://drupal.org/project/auto_nodetitle
http://drupal.org/project/token
See you at http://drupalcamp.de/
token?
am 11.12.2008 - 13:04 Uhr
Kann token die ersten 5 Wörter aus dem Inhalt extrahieren? ant wäre auch meine erste Antwort gewesen, allerdings glaube ich nicht, dass das mit Token möglich ist.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ein klares Nein! Gehr aber doch!
am 11.12.2008 - 13:17 Uhr
Nein zu Token. Das kann es nicht.
Aber das auto_nodetitle erlaubt ein "Evaluate PHP in pattern", welches Du auf Token Strings loslassen kannst ;)
See you at http://drupalcamp.de/
Vorgehensweise funktioniert lediglich beim Bearbeiten einer Node
am 11.12.2008 - 13:38 Uhr
Token gekoppelt mit einem "Evaluate PHP in pattern" angewendet auf den Nodetitel wird beim Erstellen einer Node nicht funktionieren. Grund: Beim Erstellen der Node hat Token noch keinen Zugriff auf den Content der Node. Aus dem selben Gund kann man mittels Token auch nicht das Erstellungsdatum oder den User der Node in den (Auto)Titel injizieren.
Diese Vorgehensweise funktioniert lediglich beim Bearbeiten einer Node.
Ich wuerde einen anderen Weg vorschlagen:
Im Node(type) Template den normalen Titel nicht ausgeben sondern aus der Variable $content den gewuenschten Text extrahieren und diesen als Titel ausgeben.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
quiptime schrieb Token
am 11.12.2008 - 13:50 Uhr
Token gekoppelt mit einem "Evaluate PHP in pattern" angewendet auf den Nodetitel wird beim Erstellen einer Node nicht funktionieren. ...
Ja. Gewonnnen! :-)
Im Node(type) Template den normalen Titel nicht ausgeben sondern aus der Variable $content den gewuenschten Text extrahieren und diesen als Titel ausgeben.
Muss man mal ausprobieren, ob das auch in node-listings funktioniert.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ja. Gewonnnen! :-)
am 11.12.2008 - 14:08 Uhr
1:0 ;)
War auf dem "Holzweg", da ich das in einem nachgeschalteten "action" mal gemacht hatte. Da ist es dann tatsächlich auch bekannt.
See you at http://drupalcamp.de/
automatic nodetitles
am 28.08.2009 - 20:21 Uhr
Hallo,
mich würde mal interessieren, wie das mit den replacement patterns innerhalb der automatic nodetitles funktionieren soll. Ich habe automatic nodetitles und token installiert. Nun habe ich die Möglichkeit, den Titel auszublenden. Was ich aber unschön finde, ist die Tatsache, dass nun die Bezeichnung meines Inhaltstypes als Titel erscheint.
Nun habe ich gelesen, dass man mit Hilfe von Token die Art der Überschrift bestimmen kann. Ich hätte nun gerne die Beitrags-ID oberhalb meines Beitrags als Überschrift. Der passende token-terminus wäre nun [nid].
Frage: Wie genau muss ich diesen Terminus anwenden und muss "Evaluate PHP in pattern" ausgewählt werden?
Wenn ich nur [nid] in das Feld "Pattern for the title" eintrage, hat es keine Auswirkungen. Es bewirkt lediglich, dass garnichts mehr als Überschrift erscheint. Bin für jede Hilfe dankbar. Eventuell hat jemand einen kurzen code-Schnipsel für mich.
Grüße
monk77