blog_link in template.php überschreiben
am 01.04.2008 - 20:29 Uhr in
in der datei "modules/blog/blog.module" befindet sich folgende funktion:
function blog_link($type, $node = NULL, $teaser = FALSE) {
$links = array();
if ($type == 'node' && $node->type == 'blog') {
if (arg(0) != 'blog' || arg(1) != $node->uid) {
$links['blog_usernames_blog'] = array(
'title' => t("@username's blog", array('@username' => $node->name)),
'href' => "blog/$node->uid",
'attributes' => array('title' => t("Read @username's latest blog entries.", array('@username' => $node->name)))
);
}
}
return $links;
}welche ich für mein theme abändern möchte (wenn ich beispielsweise den return auskommentiere, erscheint auf der website auch das erwartete ergebnis)
jedoch soll man ja module nicht direkt abändern sondern dies über die template.php machen. habe nun in meiner template.php folgendes eingefügt:
function phptemplate_blog_link($type, $node = NULL, $teaser = FALSE) {
$links = array();
if ($type == 'node' && $node->type == 'blog') {
if (arg(0) != 'blog' || arg(1) != $node->uid) {
$links['blog_usernames_blog'] = array(
'title' => t("@username's blog", array('@username' => $node->name)),
'href' => "blog/$node->uid",
'attributes' => array('title' => t("Read @username's latest blog entries.", array('@username' => $node->name)))
);
}
}
//return $links;
return 'TEST';
}Jedoch ändert sich danach nix, jemand eine Idee wieso? bzw kann man die funktion überhaupt über das eigene template abändern, falls nicht wie könnte ich sonst meine änderung vornehmen?
- Anmelden oder Registrieren um Kommentare zu schreiben

Am Thema voellig vorbei. Setzen und 5.
am 01.04.2008 - 20:49 Uhr
Am Thema voellig vorbei. Setzen und 5.
Waere die genannte Funktion eine Funktion zum Themen dann wuerde sie so heissen:
function theme_blog_link($type, $node = NULL, $teaser = FALSE)Da es aber keine Theme-Funktion ist musst Du Dich nicht wundern das nichts passiert.
Zur Info. Lese mal diesen Kommentar bzw. den Thread.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
immerhin ne 5 und keine 6
am 01.04.2008 - 21:05 Uhr
immerhin ne 5 und keine 6 ^^
ok das man nur theme_ functions verwenden kann hab ich verstanden, aber wie könnt ich denn meine lösung umsetzen?
ziel soll es beispielsweise sein bei einem blog den link "Weblog von ..." oder das erstellungs datum abzuändern.
Was ist das fuer ein Block?
am 01.04.2008 - 21:07 Uhr
Was ist das fuer ein Block? Wird er von einem View generiert?
Wenn ja ist die Loesung extrem simpel.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
das ist ein normaler
am 01.04.2008 - 21:19 Uhr
das ist ein normaler blogeintrag also in einer node
Ah, sorry.
am 01.04.2008 - 21:23 Uhr
Ah, sorry. Ich kann mich jetzt auch setzen. Habe Dich mit dem Block falsch verstanden.
Einen Moment bitte ich sehe mir das mal naeher an.
Sitz bitte nicht so nahe am Bildschirm sonst stosse ich Dich dabei.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
entfernen oder Wortlaut aendern?
am 01.04.2008 - 21:35 Uhr
Willst Du den Link entfernen oder seinen Wortlaut aendern?
Wenn aendern dann nur bei einem Theme und den anderen Themes nicht?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
ich habe einen blog, unter
am 01.04.2008 - 22:07 Uhr
ich habe einen blog, unter der überschrift steht das erstellungsdatum "19. Oktober 2007 - 10:35 – admin", das möchte ich in "19. Oktober 2007 - 10:35" ändern.
den link "Weblog von admin" möchte ich entfernen.
die änderungen sollen sich nur auf mein eigenes theme auswirken
OK, das Template "node-blog.tpl.php" hast Du erstellt.
am 01.04.2008 - 22:09 Uhr
OK, das Template "node-blog.tpl.php" hast Du erstellt.
Je nach dem von Dir verwendeten Theme wird der Inhalt so aussehen.
<?php /* $Id: node-blog.tpl.php, v 1.0 2008/04/01 quiptime Exp $ */ ?>
<?php phptemplate_comment_wrapper(NULL, $node->type); ?>
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<div class="clear-block clear">
<?php print $picture ?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php if ($submitted): ?>
<div class="submitted">
<?php print $submitted; ?>
</div>
<?php endif; ?>
<div class="content">
<?php print $content; ?>
</div>
</div>
<div class="clear-block clear">
<div class="meta">
<?php if ($taxonomy): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif;?>
</div>
<?php if ($links): ?>
<div class="links"><?php print $links; ?></div>
<?php endif; ?>
</div>
</div>
Mit diesem Template spielst Du jetzt mal ein wenig. Ich poste jetzt nicht imer den vollen Templatecode. Zu den einzelnen Einfuegungen die ich gleich mit Snippeds beschreibe Speichers Du jeweils einen Test-Blogeintrag. Durch das Speicher kannst Du die Auswirkungen meiner Snippeds sehen.
Setze in dem Test-Blog-Beitrag die Veoeffentlichungsoption auf nicht oeffentlich falls die Seite schon online ist.
Hiermit wird das Datum und der Benutzername des Authors ausgegeben:
<div class="submitted"><?php print $submitted; ?>
</div>
$submitted;muss also ersetzt werden mit dem was Du ausgeben moechtest.Moment, geht gleich weiter.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
die Ersetzung
am 01.04.2008 - 22:16 Uhr
Das ist die Ersetzung fuer
$submitted:<div class="submitted"><?php print format_date($node->created); ?>
</div>
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
genau so wollte ich es,
am 02.04.2008 - 07:50 Uhr
genau so wollte ich es, danke.
um "Weblog von admin" zu entfernen habe ich einfach die Variable $links weggelassen.
Wie bekomme ich es hin, dass
am 12.04.2008 - 18:36 Uhr
Wie bekomme ich es hin, dass der link "Weiterlesen" bleibt und der link "Weblog von USERNAME" nicht mehr angezeigt wird?