"Neuen Blogeintrag erstellen " ausblenden
Eingetragen von epikur (33)
am 19.10.2008 - 11:07 Uhr in
am 19.10.2008 - 11:07 Uhr in
Ich habe eine Site auf der Blogeinträge zur Darstellung der User genutzt werden. Das klappt soweit. Nun möchte ich verhindern, das beim Aufruf der des jeweiligen Blogeintrags des angemeldeten Users über die Teaseransicht der Hinweis "Neuen Blogeintrag erstellen" erscheint, da ich jedem User nur einen Blogeintrag geben möchte.
In der node.tpl ist der Eintrag nicht vorhanden. Jetzt frage ich mich, wie ich an den Eintrag herankomme.
Hat jemand eine Idee?
Vielen Dank
- Anmelden oder Registrieren um Kommentare zu schreiben
vielleicht über eine theme
am 19.10.2008 - 21:32 Uhr
vielleicht über eine theme funktion oder so? Oder eine Preprocess Funktion.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
du musst einen
am 19.10.2008 - 22:45 Uhr
du musst einen hook_menu_alter Hook machen
<?php
function hook_menu_alter(&$callbacks) {
$callbacks['blog/%user_uid_optional']['page callback'] = 'custom_blog_page_user';
}
/**
* Menu callback; displays a Drupal page containing recent blog entries of a given user.
*/
function custom_blog_page_user($account) {
global $user;
drupal_set_title($title = t("@name's blog", array('@name' => $account->name)));
$items = array();
if (($account->uid == $user->uid) && user_access('create blog entries')) {
$items[] = l(t('Post new blog entry.'), "node/add/blog");
}
else if ($account->uid == $user->uid) {
$items[] = t('You are not allowed to post a new blog entry.');
}
//$output = theme('item_list', $items);
$result = pager_query(db_rewrite_sql("SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.type = 'blog' AND n.uid = %d AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), variable_get('default_nodes_main', 10), 0, NULL, $account->uid);
$has_posts = FALSE;
while ($node = db_fetch_object($result)) {
$output .= node_view(node_load($node->nid), 1);
$has_posts = TRUE;
}
if ($has_posts) {
$output .= theme('pager', NULL, variable_get('default_nodes_main', 10));
}
else {
if ($account->uid == $user->uid) {
drupal_set_message(t('You have not created any blog entries.'));
}
else {
drupal_set_message(t('!author has not created any blog entries.', array('!author' => theme('username', $account))));
}
}
drupal_add_feed(url('blog/'. $account->uid .'/feed'), t('RSS - !title', array('!title' => $title)));
return $output;
}?>
@Rapsli: ich würde immer erst schauen wie was funktioniert, bevor ich antworte
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
@dereine: Da hast du
am 20.10.2008 - 01:26 Uhr
@dereine: Da hast du natürlich recht, aber wenn etwas schon länger bei den unbeantworteten Forenbeiträgen sitzt, dann erlaube ich mir auch mal einfach einen Schuss ins Blaue. Im Moment habe ich leider einfach nicht gerade die Zeit, längere Recherchen zu machen. Meine Devise: Eine Antwort ist besser als keine -> hat doch in diesem Fall gestimmt, da es zu einer richtigen geführt hat ;)
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
du musst einen hook_menu_alter Hook machen
am 20.10.2008 - 15:24 Uhr
Vielen Dank für die Unterstützung. Das mit dem Hook hat geklappt.
@rapsli: Klar hätte aber
am 20.10.2008 - 16:59 Uhr
@rapsli: Klar
hätte aber nicht erwartet dass das so auf anhieb funktioniert ^^^^
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
:) dann hat wenigstens der
am 20.10.2008 - 17:22 Uhr
:) dann hat wenigstens der zweite Schuss gesessen...
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Möchte das auch gerne
am 28.04.2010 - 12:13 Uhr
Möchte das auch gerne loswerden, allerdings funktioniert der gepostete code leider nicht.
jemand ne ahnung? danke!