["gelöst"] Änderungen in der node.tpl.php
am 10.04.2013 - 10:56 Uhr in
Hallo Forum,
ich habe auf meiner Titelseite eine Auflistung der Beiträge. Doch ich hätte gerne zwei optische und inhaltliche Änderungen. Ich möchte anstelle des Autor lieber die Anzahl an Kommentaren stehen haben. Dazu habe ich den Author einfach mal gelöscht.
<?php
print render $author
?>habe ich also einfach gelöscht, doch mit was kann ich das Ersetzen.
Mein zweiter Wunsch ist das Verschwinden des "neuen Kommentar schreiben" Buttons. Die entsprechende Stelle scheint die hier zu sein, doch ich weiß beim besten Willen nicht wie ich die abändern soll und ich finde auch keine Tutorials, die mir die API näher bringen.
<?php
print render ($content['links']);
?>Über Hilfe bin ich wie immer sehr Dankbar.
mit freundlichem Gruß
Andy
dem eventuell auch nur die richtigen Suchbegriffe für Google fehlen.
- Anmelden oder Registrieren um Kommentare zu schreiben

Moin, zu 1. print render
am 10.04.2013 - 13:08 Uhr
Moin,
zu 1.
print render ($content['comments']);Zu 2.
hide ($content['links']);Danke
am 10.04.2013 - 15:38 Uhr
Hi,
danke für deine Hilfe, doch leider bewirkt diese nicht die gewünschte Ansicht. Hier einmal die zwei Funktionen um die es geht.
Also Punkt 1:
<?php if ($display_submitted): ?>
<ul class="meta clearfix">
<li><strong>Veröffentlicht:</strong> <?php print $date; ?></li>
<!-- Hier soll die Anzahl an Kommentaren angezeigt werden -->
<li><strong>Kommentare:</strong><?php print render($content['comments']);?></li>
</ul>
<?php endif; ?>
<?php if (!empty($content['links'])): ?>
<footer>
<!--
Original:
<?php print render($content['links']); ?>
zeigt leider "weiterlesen" und "neuen Kommentar schreiben" an, wahrscheinlich muss $content['links'] differenzierte ausgegeben werden-->
<?php hide($content['links']); ?> <!--bewirkt lediglich das gar nichts angezeigt wird, ähnlich dem auskommentieren des Funktionsaufrufs -->
</footer>
<?php endif; ?>
Guten Morgen liebe
am 11.04.2013 - 07:55 Uhr
Guten Morgen liebe Drupaler,
gibt es alternativ irgendwo eine Auflistung aller Arrays und Variablen?
mfg
Andy
Benutze halt Devel
am 11.04.2013 - 08:12 Uhr
Benutze halt Devel http://drupal.org/project/devel , damit kannst Du sie bequem auslesen, entweder mit den mitgelieferten Funktionen, oder dem zusätzlichen Tab, oder mit Theme Developer http://drupal.org/project/devel_themer . Außerdem gibt es noch var_dump http://php.net/manual/de/function.var-dump.php - print_r() http://php.net/manual/de/function.print-r.php usw. Damit kommst Du dann schon ran.
Gruß
Christian
Okay, das mit dem Kommentaren
am 11.04.2013 - 09:54 Uhr
Okay, das mit dem Kommentaren habe ich bereits hinbekommen. Nur das deaktivieren des "neuen Kommentar .." gelingt mir nicht. Mit var_dump, schaut es so aus, als würde die Liste mit den Links bereits vom Servergeneriert geschickt.
Ich habe den var_dump('content['links']) mal hier reinkopiert:
<?php
array(8)
{
["#theme"]=> string(11) "links__node"
["#pre_render"]=> array(1)
{
[0]=> string(23) "drupal_pre_render_links"
}
["#attributes"]=> array(1)
{
["class"]=> array(2)
{
[0]=> string(5) "links"
[1]=> string(6) "inline"
}
}
["node"]=> array(4)
{
["#theme"]=> string(17) "links__node__node"
["#links"]=> array(1)
{
["node-readmore"]=> array(4)
{
["title"]=> string(124) "Weiterlesen über Installation und Konfiguration des CKEditors mit IMCE und Colorbox "
["href"]=> string(6) "node/4"
["html"]=> bool(true)
["attributes"]=> array(2)
{
["rel"]=> string(3) "tag"
["title"]=> string(67) "Installation und Konfiguration des CKEditors mit IMCE und Colorbox "
}
}
}
["#attributes"]=> array(1)
{
["class"]=> array(2)
{
[0]=> string(5) "links"
[1]=> string(6) "inline"
}
}
["#printed"]=> bool(true)
}
["comment"]=> array(4)
{
["#theme"]=> string(20) "links__node__comment"
["#links"]=> array(1)
{
["comment-add"]=> array(4)
{
["title"]=> string(25) "Neuen Kommentar schreiben"
["href"]=> string(15) "comment/reply/4"
["attributes"]=> array(1)
{
["title"]=> string(47) "Dieser Seite einen neuen Kommentar hinzufügen."
}
["fragment"]=> string(12) "comment-form"
}
}
["#attributes"]=> array(1)
{
["class"]=> array(2)
{
[0]=> string(5) "links"
[1]=> string(6) "inline"
}
}
["#printed"]=> bool(true)
}
["#printed"]=> bool(true)
["#links"]=> array(2)
{
["node-readmore"]=> array(4)
{
["title"]=> string(124) "Weiterlesen über Installation und Konfiguration des CKEditors mit IMCE und Colorbox "
["href"]=> string(6) "node/4" ["html"]=> bool(true)
["attributes"]=> array(2)
{
["rel"]=> string(3) "tag"
["title"]=> string(67) "Installation und Konfiguration des CKEditors mit IMCE und Colorbox "
}
}
["comment-add"]=> array(4)
{
["title"]=> string(25) "Neuen Kommentar schreiben"
["href"]=> string(15) "comment/reply/4"
["attributes"]=> array(1)
{
["title"]=> string(47) "Dieser Seite einen neuen Kommentar hinzufügen."
}
["fragment"]=> string(12) "comment-form"
}
}<strong> ["#children"]=> string(460) "Weiterlesen über Installation und Konfiguration des CKEditors mit IMCE und Colorbox Neuen Kommentar schreiben " </strong>
}
?>
Ich probiere es jetzt einfach mal aus, die Elemente separat auszugeben und selbst zusammen zuflicken.
mfg
Andy
Die Arrays siehst Du ja
am 11.04.2013 - 10:04 Uhr
Die Arrays siehst Du ja jetzt. Dann kannst Du zum Beispiel folgendes in Deiner template.php machen:
<?phpfunction DEINTHEME_preprocess_node(&$variables) {
unset($variables['content']['links']['comment']['#links']['comment-add']);
}
?>
Gruß
Christian
Die Nicht- Ausgabe des "add
am 11.04.2013 - 11:17 Uhr
Die Nicht- Ausgabe des "add new comment" Links soll sich ja auf den Teaser beschränken. Im Bartik- Theme ist das in der node.tpl.php so gelöst:
<?php
// Remove the "Add new comment" link on the teaser page or if the comment
// form is being displayed on the same page.
if ($teaser || !empty($content['comments']['comment_form'])) {
unset($content['links']['comment']['#links']['comment-add']);
}
// Only display the wrapper div if there are links.
$links = render($content['links']);
if ($links):
?>
<div class="link-wrapper">
<?php print $links; ?>
</div>
<?php endif; ?>
<?php print render($content['comments']); ?>
kannst ja mal reingucken, wie die gesamte Struktur aussieht. Das funktioniert auch mit anderen Themes.
vielen Dank
am 11.04.2013 - 11:30 Uhr
also es hat gereicht die Funktion
<?phpunset($content['links']['comment']['#links']['comment-add']);
?>
vor
<?phpprint render($content['links']);
?>
in der node.tpl.php
einzufügen besten Dank
dann kannst du den Thread ja
am 11.04.2013 - 11:37 Uhr
dann kannst du den Thread ja auf "gelöst" setzen...