Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Platzhalter in Navigations link

Eingetragen von tomtone (84)
am 17.08.2010 - 11:23 Uhr in
  • Module
  • Drupal 6.x

Hallo zusammen,

seit 2 Tagen nun bastel ich Ohne jeglichen erfolg... ich versuche eigentlich 'nur' einen Link zu erzeugen der auf .base_path./user/%user/subuser zeigt.

aber scheinbar ist es eine Sache der Unmöglichkeit...

Ich fürchte das die Lösung ebenso offensichtlich wie simpel ist, aber ich komm nicht weiter... Bitte um hilfe

‹ Website ist unter Windows 7 mit Firefox 3.6.8 auf unterschiedlichen Rechnern anders Drupal 7 gibt " Loading ......" aus ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Link

Eingetragen von stBorchert (6003)
am 17.08.2010 - 11:54 Uhr

Hallo.
Wie genau versuchst Du, diesen Link zu erzeugen?
Über die Adminseiten für Menüs? Über [api:l]? Oder über [api:hook_menu]?

 Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

hab es über das admin panel

Eingetragen von tomtone (84)
am 17.08.2010 - 13:50 Uhr

hab es über das admin panel versucht, jedoch bin ich nun dabei mich in die hooks einzulesen und werd es wahrscheinlich darüber machen, sofern ich den einstiegspunkt finde wo das menü hin soll, bzw wie ich es unter den Punkt 'My Account' komme, denn daran scheitert es im moment

EDIT

Hab nun den Menüpunkt gefunden, muss nun nur noch schauen wie ich ein Modul geschrieben bekomme, das ein child von My Account erzeugt... aber ich bin zuversichtlich.

hatte nur gehofft, das es eine einfache lösung gibt als ein modul zu schrieben, das sich im user menu einklinkt und ein paar menüpunkte hinzufügt

  • Anmelden oder Registrieren um Kommentare zu schreiben

soweit so gut, menüpunkte

Eingetragen von tomtone (84)
am 17.08.2010 - 14:24 Uhr

soweit so gut, menüpunkte werden nun soweit angezeigt, allerdings gibt es ein problem und zwar :

Fatal error: require_once() [function.require]: Failed opening required 'sites/all/modules/Navi_addon/user.pages.inc' (include_path='.;C:\xampp\php\pear\;C:\xampp\htdocs\projects\ml\libs\') in C:\xampp\htdocs\drupal\includes\menu.inc on line 346

ich glaube mkir fehlt ein callback....

  • Anmelden oder Registrieren um Kommentare zu schreiben

oder der "file path" dazu ...

Eingetragen von Sense (1517)
am 17.08.2010 - 14:32 Uhr

oder der "file path" dazu ...

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

kannst du es evtl etwas

Eingetragen von tomtone (84)
am 17.08.2010 - 14:58 Uhr

kannst du es evtl etwas genauer anführen?

hab den Filepath nun mit angegeben, allerdings bockt er rum und meint, die im user.page.inc aufgerufene funktion könne nicht 'redeclared' werden...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, poste mal den Quelltext

Eingetragen von Sense (1517)
am 17.08.2010 - 15:02 Uhr

Hi, poste mal den Quelltext der beiden Dateien, aus der "deinmodule.module" und der "deinmodule.page.inc".
Dann können wir Dir das entsprechend posten.

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

eine meinmodul.page.inc hab

Eingetragen von tomtone (84)
am 17.08.2010 - 15:04 Uhr

eine meinmodul.page.inc hab ich nicht...

function navi_addon_menu(){
$items['user/%user_uid_optional/edit'] = array(
'title' => 'edit Account',
'access callback' => TRUE,
'weight' => 5,
'access callback' => TRUE,
    'file' => '../../../../modules/user/user.pages.inc',
);
$items['user/%user_uid_optional/profile/profile']=array(
'title' => 'edit Profile',
'access callback' => TRUE,
'weight' => 6,
);
$items['user/%user_uid_optional/subuser/create'] = array(
'title' => 'create Subuser',
'access callback' => TRUE,
'weight' => 7,
);
return $items;
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?php function

Eingetragen von Sense (1517)
am 17.08.2010 - 15:14 Uhr

<?php

function navi_addon_menu(){
 
$items = array();
 
$items['user/%user/profile/profile'] = array(
   
'title' => 'Edit profile',
   
'page callback' => 'navi_addon_profile_profile',
   
'page arguments' => array(1),
   
'access callback' => TRUE,
   
'weight' => 6,
  );
 
$items['user/%user/subuser/create'] = array(
   
'title' => 'create Subuser',
   
'page callback' => 'navi_addon_subuser_create',
   
'page arguments' => array(1),
   
'access callback' => TRUE,
   
'weight' => 7,
  );

  return
$items;
}
?>

Die beiden Callbacks "navi_addon_profile_profile" und "navi_addon_subuser_create" musst Du dann entsprechend noch mit Inhalt füllen:

<?php
function navi_addon_subuser_create($user) {
  return
'';
}

function
navi_addon_subuser_create($user) {
  return
'';
}
?>

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich werds gleich mal testen,

Eingetragen von tomtone (84)
am 17.08.2010 - 15:16 Uhr

ich werds gleich mal testen, vielen dank

und bei dem ersten menü punkt? denn eigentlich soll er ja nur auf die vorhandene seite linken

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der erste Menüpunkt ist doch

Eingetragen von Sense (1517)
am 17.08.2010 - 15:22 Uhr

Der erste Menüpunkt ist doch aus dem user.module.
Der ist dort doch schon angelegt, deshalb benötigst Du ihn in Deinem Modul ja nicht noch einmal.
Sollen die Menüpunkte Tabs sein oder nur reine Callbacks, wenn es Tabs sein sollen müsstest Du den einzelnen Items noch

'type' => MENU_LOCAL_TASK,

hinzufügen.

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

mhh.. er wird aber nicht

Eingetragen von tomtone (84)
am 17.08.2010 - 15:25 Uhr

Ne, die sollen lediglich in der Navigation auftauchen

mhh.. er wird aber nicht angezeigt, hab ihn gerade gesehen, sofern es der richtige ist. wird aber leider nicht angezeigt.

und bei den anderen beiden, die menüpunkte sind nun verschwunden. hab den cache geleert und die seite neu geladen, aber mit jedem laden ist es ein menüpunkt weniger geworden

und du sagtest die Callbacks mit inhalt füllen, aber das sind Module, die bereits implementiert sind, nur eben keinen menüpunkt an der stelle haben...

steh etwas auf dem schlauch ;) ist mein ersten modul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aus welchem Modul stammen

Eingetragen von Sense (1517)
am 17.08.2010 - 15:39 Uhr

Aus welchem Modul stammen denn die Seiten, dann schreib ich Dir das nachher einmal richtig, ich bin davon ausgegangen dass Du eigene Inhalte hinzufügen wolltest und nicht auf bestehende Inhalte einen Menüpunkt anlegen möchtest.

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

missverständnisse kann man

Eingetragen von tomtone (84)
am 17.08.2010 - 15:44 Uhr

missverständnisse kann man zum glück immer lösen :)

das eine gehört zum subuser.module

das andere ist eigenltich vom content_profile

und der ersten der aber nicht angezeigt wird, ist vom core.module Profil

allerdings, komm ich im moment nirgendswo hin... das verwirrt mich, egal ob mit link oder ohne, oder werde bei implementation des moduls die eigentlichen links überschrieben?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Teste mal Folgendes: <?php/**

Eingetragen von Sense (1517)
am 17.08.2010 - 22:26 Uhr

Teste mal Folgendes:

<?php
/**
* Implementation of hook_menu().
*/
function navi_addon_menu() {
  global
$user;
 
$items = array();

 
$items['subuser-create'] = array(
   
'title' => variable_get('subuser_create', 'Create subuser'),
   
'page callback' => 'drupal_get_form',
   
'page arguments' => array('subuser_create_form', $user),
   
'access arguments' => array('create subuser'),
   
'file path' => drupal_get_path('module', 'subuser'),
   
'file' => 'subuser.pages.inc',
  );
 
 
$items['user-profile'] = array(
   
'title callback' => 'check_plain',
   
'title' => drupal_ucfirst('Profile'),
   
'page callback' => 'content_profile_page_edit',
   
'page arguments' => array('profile', $user),
   
'access callback' => 'content_profile_page_access',
   
'access arguments' => array('profile', $user),
   
'weight' => content_profile_get_settings('profile', 'weight'),
   
'file' => 'node.pages.inc',
   
'file path' => drupal_get_path('module', 'node'),
  );

  return
$items;
}
?>

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wundervoll :) ich danke dir,

Eingetragen von tomtone (84)
am 18.08.2010 - 08:11 Uhr

Wundervoll :) ich danke dir, jedoch stehe ich nun vor der geringen Schwierigkeit, das ich diese Beiden menüpunkte al Unterpunkte zu 'My Account' brauche, werde da erstmal ein wenig dran basteln und wenn es nicht klappt völlig aufgelöst nochmal posten ;)

Und nun fehlt mir noch die option, das ich auch die Benutzer einstellungen als einen solchen Listenpunkt darstellen kann, aber du sagtest ja, der Menüpunkt sei im user.module, würd die dann überschrieben, denk ich....

Weil ich keinerlei Intention habe, im Core mosul zu pfuschen

EDIT: Menüpunkte sind unter dem Punkt, unter den sie gehören, jedoch bleibt nun noch der Account Bearbeiten link übrig, aber ds werde ich auch noch in den griff bekommen ;)

Ich danke dir vielmals bis hier hin und danke für die mühe die du dir gemacht hast.

ich tu mich scheinbar gerade etwas schwer mit dem hook_menu_alter, denn die dokumentationen sind recht dünn... somit bin ich mir nicht sicher, wie ich nun lediglich den link umsetze...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst alle Menüpunkte

Eingetragen von Sense (1517)
am 18.08.2010 - 08:00 Uhr

Du kannst alle Menüpunkte über den hook_menu_alter anpassen.

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Problem gelöst mittels

Eingetragen von tomtone (84)
am 18.08.2010 - 08:35 Uhr

Problem gelöst mittels drupal_goto ;)

alles läuft wie es laufen soll, und Danke Sense für die Tatkräftige unterstützung

hier nun einmal der komplette code der 3 Menüpunkte an den Punkt 'My Account' fügt:

<?php
<?php
// $Id$

/**
*    Implementation of hook_menu().
*/

function navi_addon_menu() {
  global
$user;
 
$items = array();

 
$items['user/%user_uid_optional/subuser-create'] = array(
   
'title' => variable_get('subuser_create', 'create subuser'),
   
'page callback' => 'drupal_get_form',
   
'page arguments' => array('subuser_create_form', $user),
   
'access arguments' => array('create subuser'),
   
'file path' => drupal_get_path('module', 'subuser'),
   
'file' => 'subuser.pages.inc',
  );

 
$items['user/%user_uid_optional/user-profile'] = array(
   
'title callback' => 'check_plain',
   
'title' => drupal_ucfirst('Profile'),
   
'page callback' => 'content_profile_page_edit',
   
'page arguments' => array('profile', $user),
   
'access callback' => 'content_profile_page_access',
   
'access arguments' => array('profile', $user),
   
'weight' => content_profile_get_settings('profile', 'weight'),
   
'file' => 'node.pages.inc',
   
'file path' => drupal_get_path('module', 'node'),
  );
 
 
$items['user/%user_uid_optional/edit_profile'] = array(
   
'title' => 'Edit profile',
   
'page callback' => 'useredit_goto',
   
'access callback' => 'user_access',
    );
   
  return
$items;
}
/**
*    Funktion leitet leitet das page callback auf die gewünschte Adresse um.
*/
function useredit_goto() {
  global
$user;
 
drupal_goto('user/' . $user->uid . '/edit');
}
?>
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Noch eine kleine Anmerkung,

Eingetragen von Sense (1517)
am 18.08.2010 - 08:44 Uhr

Noch eine kleine Anmerkung, nenne die Funktionen immer so wie das modul heisst, also:
useredit_goto in navi_addon_useredit_goto, vergiss nicht, dies auch im page callback anzupassen und danach den Cache zu leeren.

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

hab ich geändert, allerdings

Eingetragen von tomtone (84)
am 18.08.2010 - 10:45 Uhr

hab ich geändert, allerdings folgt nundie nächste hürde... ich hab 2 rollen mit unterschiedlichen profilen...

er fragt mit dem access callback lediglich die berechtigung ab und bekommt ein TRUE oder FALSE richtig?

Hab gerade eine idee, werd das mal prüfen und das Ergebnis hier posten

ohne erfolg... er linked immer auf das benutzer profil... ich bastel weiter

  • Anmelden oder Registrieren um Kommentare zu schreiben

So, theoretisch sind die Menü

Eingetragen von tomtone (84)
am 18.08.2010 - 15:34 Uhr

So, theoretisch sind die Menü punkte nun da, jedoch gibt es ein signifikantes Rechte Problem, es werden, bei entsprechenden rollen nicht die zugehörigen links angezeigt...

Der Normale Benutzer bekommt keinen Link, wohingegen der Benutzer der subuser erstellen darf, zumindeast den Subuser creat link angezeigt bekommt.

lediglich der Admin (ich ;)) bekommt ALLE links die in über das mein Modul implementiert habe angezeigt...

<?php
// $Id$

/**
*    Implementation of hook_menu().
*/

function navi_addon_menu() {
  global
$user;
 
$items = array();

 
$items['user/%user_uid_optional/subuser-create'] = array(
   
'title' => variable_get('subuser_create', 'create subuser'),
   
'page callback' => 'drupal_get_form',
   
'page arguments' => array('subuser_create_form', $user),
   
'access arguments' => array('create subuser'),
   
'file path' => drupal_get_path('module', 'subuser'),
   
'file' => 'subuser.pages.inc',
  );

 
$items['user/%user_uid_optional/user-profile'] = array(
   
'title callback' => 'check_plain',
   
'title' => drupal_ucfirst('Profile'),
   
'page callback' => 'content_profile_page_edit',
   
'page arguments' => array('profile', $user),
   
'access callback' => 'content_profile_page_access',
   
'access arguments' => array('profile', $user),
   
'weight' => content_profile_get_settings('profile', 'weight'),
   
'file' => 'node.pages.inc',
   
'file path' => drupal_get_path('module', 'node'),
  );

 
$items['user/%user_uid_optional/unternehmer-profil'] = array(
   
'title callback' => 'check_plain',
   
'title' => drupal_ucfirst('Profile'),
   
'page callback' => 'navi_addon_rollen_check',
   
'access callback' => 'content_profile_page_access',
   );
 
 
$items['user/%user_uid_optional/edit_profile'] = array(
   
'title' => 'Edit profile',
   
'page callback' => 'navi_addon_useredit_goto',
   
'access callback' => 'user_access',
    );
   
  return
$items;
}
/**
*    Funktion leitet leitet das page callback auf die gewünschte Adresse um.
*/
function navi_addon_useredit_goto() {
  global
$user;
 
drupal_goto('user/' . $user->uid . '/edit');
}

function
navi_addon_rollen_check(){
    global
$user;
   
drupal_goto('user/'.$user->uid.'/edit/unternehmer_profil');
}
?>

das ist der gegenwärtige stand

  • Anmelden oder Registrieren um Kommentare zu schreiben

Leider, ich weiß nicht

Eingetragen von tomtone (84)
am 20.08.2010 - 09:19 Uhr

Leider, ich weiß nicht wawrum, gibt es einige Berechtigungsprobleme, denn die Benutzer die Zugriff auf die verschiedenen Punkte des Neuen Menüs haben, bekommen dieses nicht angezeigt. selbst wenn ich das 'access callbacl' mit TRUE versehe, wodurch es standartmäßig JEDEM angezeigt wird, erfolgt keine darstellung bei benutzern, lediglich der Sysadmin hat zugriff darauf

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
  • Versenden von Anfragen per Webform
  • Goodbye Online Drupal Meetup Germany - Hello Drupal DACH Online Meetup!
  • Übersetzte Felder bei Inhaltstyp automatisch übernehmen
  • Content Ex-/Import
  • RESTful Path request will nicht
  • Wer ist online Block
Weiter

Neue Kommentare

  • Self-referencing
    vor 1 Tag 1 Stunde
  • settings.php
    vor 1 Tag 2 Stunden
  • Kulturmensch schrieb Prima
    vor 1 Tag 3 Stunden
  • Metatag
    vor 1 Tag 3 Stunden
  • Links
    vor 1 Tag 2 Stunden
  • Wenn Du nach der
    vor 1 Tag 4 Stunden
  • Gut zu wissen. Demnächst
    vor 1 Tag 20 Stunden
  • Token Fehler behoben
    vor 1 Tag 21 Stunden
  • Du hast völlig recht, da habe
    vor 2 Tagen 2 Stunden
  • Link 404
    vor 2 Tagen 5 Stunden

Statistik

Beiträge im Forum: 245976
Registrierte User: 18827

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9010
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 5 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