[gelöst]Kommentaroutput für EINEN NodyTyp anpassen - function override
Eingetragen von tomtone (84)
am 01.09.2010 - 11:51 Uhr in
am 01.09.2010 - 11:51 Uhr in
Hallo,
kurz und knapp, ich habe einen Nodetyp gethemed und habe nun etwas Probleme die Kommentarform unterzubringen.
<?php
// $Id: node-unternehmer_profil.tpl.php,v 1.0 2010/09/01 12:30:24 $
?>
<?php
$picture = $node->field_handler_logo[0]['filepath'];
?>
<div id="unternehmer">
<div class="profil_kopf">
<?php print '<img src="' .base_path().$picture.'"';?>
<div class="firma">
<h1>Firmenname</h1>
<div class="adresse">
<?php print $node->field_handler_anschrift[0]['view']; ?><br>
<?php print $node->field_handler_ort[0]['view']; ?><br>
<?php print $node->field_handler_land[0]['view']; ?>
</div>
<div class="kontakt">
<?php print $node->field_handler_person[0]['view']; ?><br>
<?php print 'tel '.$node->field_handler_telefon[0]['view']; ?><br>
<?php print 'fax '.$node->field_handler_fax[0]['view']; ?><br>
<?php print 'e-mail '.$node->field_handler_mail[0]['view']; ?>
</div>
</div>
</div>
<div class="tabbed-content">
<ul class="tabNavigation">
<li><a href="#one">Unternehmensportrait</a></li>
<li><a href="#two">Leistungs- und Produktportfolio</a></li>
<li><a href="#three">Veranstaltungen und Termine</a></li>
</ul>
<div id="one" class="tab-content"><?php print $node->field_handler_portrait[0]['view']; ?></div>
<div id="two" class="tab-content"><?php print $node->content['body']['#value']; ?></div>
<div id="three" class="tab-content"><?php print $node->field_handler_portrait[0]['view']; ?></div>
</div>
</div>
Soweit der Stand der Dinge, was nun fehlt ist die Kommentarfunktion. klann wer helfen? stehe etwas auf dem Schlauch.
Grüße
Tom
- Anmelden oder Registrieren um Kommentare zu schreiben
Unabhängig
am 01.09.2010 - 13:12 Uhr
Die beiden sind bei den Templates unabhängig. In dem node.tlp.php geht es nur um die Darstellung des Nodes. Die Kommentare kommen extra drunter.
Was willst du genau erreichen? Damit da überhaupt Kommentare stehen, musst du in dem Inhaltstypen bzw. in dem Inhalt Kommentare erlauben. Falls du was umbauen willst, gibt es wieder Theme-Dateien für Kommentare.
Besteht dort die Möglichkeit,
am 01.09.2010 - 13:38 Uhr
Besteht dort die Möglichkeit, das ich nur bei meinem Inhaltstypen ein bestimmtes comment-Template nutze?
es soll in diesem Fall keine 'Kommentar-Funktion' sondern augenscheinlich eine 'Bewertungs-Funktion' sein. Das ist sinn des Ziels. ^Habe aber auch gerade festgestellt, das die Kommentare 'extra' sind :)
Und nun überlege ich, wie ich die dinge für genau DIESEN Node-Typ überschreiben kann, denn es soll auch nicht 'Neuen Kommentar schreiben' dort stehen sondern 'Bewertung abgeben' aber eben nur für diesen Nodetypen
Funktionen überschreiben
am 01.09.2010 - 14:25 Uhr
Du wirst irgendwelche Kommentar-Funktionen überschreiben müssen, damit sich der Text nach dem Inhaltstypen richtet. Evtl. reicht es, das in der template.php zu überschreiben. Andernfalls müsstest du dir ein Mini-Modul schreiben.
ich weiß nicht ob es so
am 01.09.2010 - 14:29 Uhr
ich weiß nicht ob es so vorteilhaft ist, aber ich habe nun eine If-Anweisung in die comment.tpö.php gebaut, indem er einfach den Node Typ anfragt und eben etwas anderes ausgibt, jedoch frage ich mich gerade, wo der div Comments herkommt, denn den muss ich ja im enteffekt bearbeiten. und je nach Node einen anderen 'Titel' vergeben, denn setz ich eine Überschrift in das Comment.tpl.php, wird es ja für jeden Kommentar übernommen.
Reicht das?
am 01.09.2010 - 15:11 Uhr
Ich habe es nicht nachgeprüft, aber ich glaube, das Wort "Kommentar" musst du an mehr Stellen ändern als nur im comment-Template. Deshalb hab ich ja template.php erwähnt. Schau dir mal das template.php des Themes Garland an, ich glaube, da werde ein paar Kommentar-Funktionen überschrieben. Evtl. kannst du darauf aufbauen.
Habe nun die Funktion
am 02.09.2010 - 09:04 Uhr
Habe nun die Funktion gefunden, die die Überschrift überschreibt, der Garland Tipp war Gold richtig!
jedoch wird er nicht angezeigt. habe auch schon die comment.tpl.php vom garland verglichen aber sie sind identisch...
der eingebaute Code lautet wie folgt:
function theme428_preprocess_comment_wrapper(&$vars) {
if ($vars['content'] && $vars['node']->type == 'user_content') {
$vars['content'] = '<h2 class="comments">'. t('Comments') .'</h2>'. $vars['content'];
}
}
bis auf die If-Anweisung bei der ich einen anderen Node-Typen habe, ist sie Identisch. Und der Funktion zufolge sollte ich nun am Kopf des Kommentar-teils einen hübsches
Kommentare
stehen haben. Aber nichts zu sehen, habe mehrmals alle Caches geflushed ohne erfolg.
Und eine weitere Hürde hat sich aufgetan, ich komme nicht an den
Sooo, ich bin nun wieder wohl
am 03.09.2010 - 07:46 Uhr
Sooo, ich bin nun wieder wohl auf was die Aussichten auf den Erfolg angeht. Mittlerweile wird der Titel Überschrieben und ein schönes 'Bewertungen' pragt zu Kopfe meiner Kommentare. Nun suche ich lediglich noch eine Möglichkeit, den ID Comments für diesen einen Nodetypen zu verändern... Jemand da evtl ne Funktion zur Hand?
Die lösung kann so einfach
am 03.09.2010 - 09:12 Uhr
Die lösung kann so einfach sein....
In der Temnplate.php
function hook_preprocess_comment_wrapper(&$vars) {
if ($vars['content'] && $vars['node']->type == 'unternehmer_profil') {
$vars['content'] = '<div class="bewertung"><h2 class="comments" style="border-bottom:2px groove #558B51;width:500px;margin-left:31px">'. 'Bewertungen' .'</h2>'. $vars['content'];
}
}
und dann einfach einen neuen div zu beginn der kommentare öffnen, und im dazugehörigen Node.tpl.php wieder schließen, schon gibt es einen neuen Div den man Frei editieren kann :)