Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Titel ausblenden - was ist die beste Möglichkeit

Eingetragen von Leicowitz (68)
am 14.02.2010 - 13:44 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo alle zusammen,

ich versuche schon seit einer Weile den Titel auf meiner Seite auszuschalten. Hat jemand eine Ahnung wie man das am besten machen kann? Habe schon versucht mit dem Modul automatic.nodetitles aber bislang ohne Erfolg. Nach anwenden dieses Moduls steht dann immer Seite 1. Ich würde gerne selber entscheiden, wann ich einen Titel eingeben möchte und wann dieser nicht sichtbar sein soll. Ich danke Euch.

‹ Tabelle wird nicht gezeigt Drupal Installation mit Xampp (Mac) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Titel

Eingetragen von stBorchert (6003)
am 14.02.2010 - 14:12 Uhr

Hallo.
Die (meines Erachtens) beste Möglichkeit wäre ein zusätzliches Feld (checkbox) "Titel anzeigen" (Feldname "field_show_title") in Verbindung mit auto_nodetitle.
Stelle auto_nodetitle so ein, dass ein Titel automatisch vergeben wurde, wenn kein Titel manuell eingegeben wurde:
Einstellung auto_nodetitle 1

Dann musst Du noch ein Pattern für den automatisch zu vergebenen Titel einstellen. Beispiel:

<?php

return $node->type . '_' . time() . '-' . rand(0, 1000);
?>

Dies setzt den Titel dann beispielsweise auf "story_1234567890-123" (jedoch nur, wenn Du keinen Titel per Hand eingegeben hattest. Es ist wichtig, einen halbwegs sinnvollen Titel zu vergeben, damit Du die Beiträge später auch wiederfinden kannst. Evtl. wäre ein Titel der Form "story_2020-02-14_14:10:00_123" noch besser. Das ist jedoch Geschmackssache.

Den Wert der Checkbox verwendest Du dann um die Sichtbarkeit des Titels zu steuern.
Dazu musst Du ein wenig Code in die template.php Deines Themes schreiben (Beispiel "garland").
Erweitere die Funktion phptemplate_preprocess_page:

<?php
function phptemplate_preprocess_page(&$vars) {
 
// bestehender Code ...
 
if (isset($vars['node']) && !$vars['node']->field_show_title[0]['value']) {
   
// Titel nicht anzeigen!
   
$vars['title'] = '';
  }
}
?>

Erweitere die Funktion phptemplate_preprocess_node:

<?php
function phptemplate_preprocess_node(&$vars) {
 
// bestehender Code ...
 
if (isset($vars['node']) && !$vars['node']->field_show_title[0]['value']) {
   
// Titel nicht anzeigen!
   
$vars['title'] = '';
  }
}
?>

Das könnte so funktionieren.

 Stefan

--
Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan, da ich von PHP

Eingetragen von Leicowitz (68)
am 14.02.2010 - 14:35 Uhr

Hallo Stefan,

da ich von PHP leider keine Ahnung habe muss ich noch einmal nachfragen.
Also ich bin jetzt in meine template.php rein folgenden Code habe ich da gefunden, zunächst unter phptemplate_preprocess_page:

<?php

function phptemplate_preprocess_page(&$vars) {
 
$vars['tabs2'] = menu_secondary_local_tasks();

 
// Hook into color.module
 
if (module_exists('color')) {
   
_color_page_alter($vars);
  }
}
?>

und unter

<?php

function phptemplate_node_submitted($node) {
  return
t('!datetime — !username',
    array(
     
'!username' => theme('username', $node),
     
'!datetime' => format_date($node->created),
    ));
}
?>

Kannst Du mir noch einmal genau zeigen, wo Deine Codeschnipsel reinkommen? Ich danke Dir.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Code

Eingetragen von stBorchert (6003)
am 14.02.2010 - 14:38 Uhr

<?php
function phptemplate_preprocess_page(&$vars) {
 
$vars['tabs2'] = menu_secondary_local_tasks();

 
// Hook into color.module
 
if (module_exists('color')) {
   
_color_page_alter($vars);
  }
 
// neuer Code ...
 
if (isset($vars['node']) && !$vars['node']->field_show_title[0]['value']) {
   
// Titel nicht anzeigen!
   
$vars['title'] = '';
  }
}
?>

Leicowitz schrieb

function phptemplate_node_submitted($node) {

Die hat nichts damit zu tun. Füge einfach die von mir beschriebene phptemplate_preprocess_node der Datei hinzu.

hth,

 Stefan

--
Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jetzt habe ich einfach

Eingetragen von Leicowitz (68)
am 14.02.2010 - 14:45 Uhr

Jetzt habe ich einfach keinen Titel auf meiner Seite angegeben und da erscheint jetzt

<p> <span style="color: rgb(0, 0, 187);">&lt;?php </span><span style="color: rgb(0, 119, 0);">return </span><span style="color: rgb(0, 0, 187);">$node</span><span style="color: rgb(0, 119, 0);">-&gt;</span><span style="color: rgb(0, 0, 187);">type </spa

Was ist da schief gelaufen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

PHP-Code

Eingetragen von stBorchert (6003)
am 14.02.2010 - 15:06 Uhr

Du hast 1. keinen gültigen PHP-Code bei den Einstellungen für auto_nodetitle angegeben und 2. vermutlich vergessen, das Häkchen zu machen, mit dem Du das Pattern als PHP markierst.

screenshot_dc_25205-2

 Stefan

--
Sei nett zu Deinem Themer!

AnhangGröße
screenshot_dc_25205-2.png 55.6 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich habe eigentlich

Eingetragen von Leicowitz (68)
am 14.02.2010 - 15:46 Uhr

Also ich habe eigentlich alles so wie Du beschrieben hast gemacht.
Jetzt steht bei mir in der Titelzeile:
Seite  <?php return $node->type . '_' . time() . '-' . rand(0, 1000);?> wurde aktualisiert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Leicowitz schrieb Also ich

Eingetragen von stBorchert (6003)
am 14.02.2010 - 15:52 Uhr
Leicowitz schrieb

Also ich habe eigentlich alles so wie Du beschrieben hast gemacht.

Du hast den Haken nicht gesetzt. Ansonsten würde der PHP-Code zu einem Text beginnend mit dem Typ des Nodes umgesetzt und als Titel gespeichert werden.

 Stefan

--
Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also den Haken hatte ich

Eingetragen von Leicowitz (68)
am 14.02.2010 - 16:00 Uhr

Also den Haken hatte ich gesetzt. Ich habe aber den Editor gewechselt, von CKEditor zum plain text editor. Jetzt habe ich folgende Zeile in der Titelzeile stehen
page_1266159451-874

  • Anmelden oder Registrieren um Kommentare zu schreiben

Editor

Eingetragen von stBorchert (6003)
am 14.02.2010 - 16:54 Uhr
Leicowitz schrieb

Ich habe aber den Editor gewechselt, von CKEditor zum plain text editor.

Du merkst, ohne diese wichtige Information war nur eine bedingt korrekte Hilfe nötig.

Tipp: WYSIWYG-Editoren haben in den Admin-Seiten nichts verloren. Deaktiviere den einfach für alle Seiten unter admin/.

hth,

 Stefan

--
Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jetzt muss ich mal ganz dumm

Eingetragen von Leicowitz (68)
am 14.02.2010 - 19:42 Uhr

Jetzt muss ich mal ganz dumm fragen, wo genau kann ich nur für den Admin-Bereich den CKEditor ausschalten?

  • Anmelden oder Registrieren um Kommentare zu schreiben

titel ausblenden

Eingetragen von karl1120 (97)
am 14.02.2010 - 23:53 Uhr

3 ansätze
titel ausblenden

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Vorschläge habe ich mir

Eingetragen von Leicowitz (68)
am 16.02.2010 - 10:39 Uhr

Die Vorschläge habe ich mir auch schon angeschaut und ausprobiert, aber bei keinem verschwand der Titel.
Mit dem cck-Feld habe ich Schritt für Schritt nachempfunden.
Hier noch einmal. Bei den ersten Schritten kann man ja nichts falsch machen.
Dann habe ich den Codeschnipsel, ich verwende übrigens als Theme Garland,
<?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>

durch den aufgeführten

<?php if ($node->field_titelschalter[0]['safe'] != 'no'):?>
            <?php if ($title): ?>
              <h1 class="title"><?php print $title; ?></h1>
            <?php endif; ?>
<?php endif; ?>

ausgetauscht.

Beim Test muss ich nach wie vor einen Titel eingeben und dieser wird auch angezeit, wenn ich im Feld "Titelschalter" no eintippe.

Woran kann es nur liegen, bin langsam am verzweifeln.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich kann dir versichern das

Eingetragen von CG (338)
am 17.02.2010 - 16:34 Uhr

Ich kann dir versichern das alle 3 funktionieren, ich habe mich letztendlich für die von Karl1120 entschieden weil die einfach am komfortabelsten/übersichtlichtstem/wenigsten nachpflege aufwand hat. habe den "titelschalter" immernoch in gebrauch und er funzt. ein einfaches no in das neue cck feld geschreiben und der titel ist weg!

hier nochmal der link direkt zum comment von Karl
http://www.drupalcenter.de/node/21340#comment-75400

vielen herzlichen dank nochmal für Karls super lösung!

mfg

chris

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich handhabe das auch

Eingetragen von Exterior (2903)
am 17.02.2010 - 19:42 Uhr

Also ich handhabe das auch über einen extra "CCK-Schalter", allerdings habe ich kein Text-Feld, in das man "no" eingeben muss, sondern habe mir eine einzelne kleine Checkbox dort hin gemacht. Haken rein --> Titel wird ausgeblendet, Haken raus --> Titel da (oder andersrum, je nachdem, wie man's will). Geht super

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das klingt ja richtig gut.

Eingetragen von Leicowitz (68)
am 17.02.2010 - 19:59 Uhr

Das klingt ja richtig gut. Könntest Du mal posten, wie Du das genau angestellt hast. Möglichst detailiert, da ich irgendwie nicht weiterkomme (siehe vorangegangene Postings). Danke Dir.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also erstmal legst du ein

Eingetragen von Exterior (2903)
am 17.02.2010 - 21:23 Uhr

Also erstmal legst du ein neues CCK-Feld für deinen Inhaltstyp an.
Als Feldtyp wählst du "Text" und als Steuerelement nimmst du "Ankreuzfelder/Auswahlknöpfe".

Einstellungen bleiben eigentlich dir überlassen, außer, dass du bei "Anzahl von Werten" auf "unbegrenzt" stellst.
Bei "Zulässige Werteliste:" habe ich lediglich "Nein" eingetragen.

Danach muss noch eine kleine Änderung in der node.tpl.php vorgenommen werden.
Und zwar ersetzt du diesen Teil (In Garland):

<?php
if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif;
?>

damit:
<?php if ($node->field_titelanzeige[0]['value'] != "Nein"):?>
<?php if ($title): ?><h1 class="title"><?php print $title; ?></h1><?php endif; ?>
<?php endif; ?>

Das müsste so eigentlich funktionieren.
Wenn du dann das Häkchen rein setzt, wird bei der Ausgabe kein Titel angezeigt.
Bedenke aber, dass solche Maßnahmen dich nicht davon befreien, einen Titel einzugeben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bei mir ist der Wurm drin

Eingetragen von Leicowitz (68)
am 17.02.2010 - 21:44 Uhr

Hallo Exterior,

also pass auf so bin ich vorgegangen:

1. Verwalten_Inhaltsverwaltung_Inhaltstypen: Seite_Felder verwalten
2. Neues Feld: Bezeichnung: schalter Feldname: schalter Feldtyp: Text Steuerelement: Ankreuzfelder/Auswahlknöpfe
3. Speichern
4. CCk-Feld: alles gelassen außer Anzahl von Werten: unbegrenzt und Werteliste: Nein
5. Speichern

Anschließend habe ich in der ! page.tpl.php den Umtausch vorgenommen.

6. Neue Seite erstellt, einen Titel reingeschrieben abgespeichert.

Titel sichtbar.

Ich werde noch verrückt. Bei allen funktioniert es nur bei mir nicht.
Übrigens hatte ich mal ein bischen experimentiert und den Code

<?php if ($page == 0): ?>
  <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
in der node.tpl.php gelöscht und siehe da, es erschien auch kein Titel mehr.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kleineres modul zum ausblenden der title

Eingetragen von karl1120 (97)
am 13.03.2010 - 16:11 Uhr


Ich hab mal ein kleiners modul zum ausblenden des titles geschrieben

probierts mal aus ;)
http://www.drupalcenter.de/node/21340

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 5 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 2 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 27 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association