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

[Gelöst] Modul wird zu langsam geladen

Eingetragen von eisenbahnfan (16)
am 11.08.2014 - 18:39 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Liebe Drupal-Profis,
ich bin noch ein relativer Anfänger was Drupal betrifft und neu hier. Ich hoffe, ich habe die richtige Forumkategorie etc. gewählt ...

Meine Frage:
Ich versuche z.B. die Menüleiste nur für angemeldete Nutzer zugängig zu machen. Es funktioniert an und für sich schon, aber bei einer langsamen Internet-Verbindung kann man die Menüeintrage immer noch lesen, bis die Seite ganz geladen wurde. Mein Modul wird also quasi zu spät ausgeführt ...

Kann ich das entweder einfach (!) anders lösen, oder kann ich Drupal sagen, es soll mein Modul früher laden?
Noch besser wäre vielleicht, die Seite erst dann anzuzeigen, wenn alle Inhalte geladen wurden. Gibt es da eine Möglichkeit?

Hier mein Code:

<?php
[...]
function
menueleiste_ausblenden_init() {
    if(
user_is_logged_in()){
       
// User ist eingeloggt
    
}
    else{
        
drupal_add_css( drupal_get_path('module', 'menueleiste_ausblenden') .'/menueleiste_ausblenden.css');
         echo
"<div id='modultext'>Sie m&uuml;ssen sich anmelden, um die Inhalte sehen zu k&ouml;nnen!</div>";
    }
}
?>

CSS:

.sitemenu {
display: none;
}

#modultext {
top: 130;
text-align: center;
position: relative;
color: red;
font-size: 25;
}

Liebe Grüße und Danke im vorhinein,
Niki

‹ Hervorgehobene Beiträge [Gelöst] Modul wird zu langsam geladen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Drupal zeigt Menüeinträge nur

Eingetragen von wla (9461)
am 11.08.2014 - 19:06 Uhr

Drupal zeigt Menüeinträge nur dann, wenn der User auch das Recht hat, die damit aufgerufenen Seiten zu sehen. Hat er das Recht nicht, wird ihm auch kein Menüpunkt angezeigt. Das Menü ist damit weg. Das ist eine einfache Möglichkeit dafür zu sorgen, daß das Menü nicht gezeigt wird.

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schrieb Drupal zeigt

Eingetragen von eisenbahnfan (16)
am 11.08.2014 - 19:14 Uhr
wla schrieb

Drupal zeigt Menüeinträge nur dann, wenn der User auch das Recht hat, die damit aufgerufenen Seiten zu sehen.

Ich habe dem Benutzer Gast (nicht angemeldeter Benutzer) ALLE Rechte entzogen, trotzdem wird die Menüleite noch angezeigt!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wozu brauchst du überhaupt

Eingetragen von Goekmen (1013)
am 11.08.2014 - 20:41 Uhr

Wozu brauchst du überhaupt ein Modul?
Jedes Drupal Menu erzeugt einen Block. In den Blockberechtigungen kannst du auch Rollen auswählen (Gast, Authentifizierter Benutzer etc).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mir scheint,

Eingetragen von ronald (3857)
am 12.08.2014 - 07:26 Uhr

du machst einen Klimmzug über ein Modul, wo es die Grundfunktionalität von Drupal täte.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum löst Du das Ausblenden

Eingetragen von E-Fee (481)
am 12.08.2014 - 09:12 Uhr

Warum löst Du das Ausblenden überhaupt über CSS? Das ist das, was mich da am meisten wundert. Wenn natürlich diese CSS-Datei verspätet (oder gar gar nicht) geladen wird, was nicht mal an Deinem Server liegen muss ...

Deine Lösung hat überdies den Nachteil, dass sie nicht greift, falls jemand CSS im Browser deaktiviert, bzw. das Menü im Quelltext weiterhin sichtbar bleibt.

Ich frag mich auch: warum legst Du das Menü nicht einfach in einen Block und konfigurierst diesen Block drupalseitig so, dass er nur für angemeldete User sichtbar ist? Dann wird der entsprechende Code gar nicht erst an diesen User ausgeliefert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

E-Fee schrieb Warum löst Du

Eingetragen von eisenbahnfan (16)
am 12.08.2014 - 11:23 Uhr
E-Fee schrieb

Warum löst Du das Ausblenden überhaupt über CSS?

Weil mir keine bessere Möglichkeit eingefallen ist ...

E-Fee schrieb

Ich frag mich auch: warum legst Du das Menü nicht einfach in einen Block und konfigurierst diesen Block drupalseitig so, dass er nur für angemeldete User sichtbar ist? Dann wird der entsprechende Code gar nicht erst an diesen User ausgeliefert.

Das werde ich mir gleich anschauen. Danke für die Infos!

Liebe Grüße,
Niki

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du hast hier ein CMS

Eingetragen von ronald (3857)
am 12.08.2014 - 12:12 Uhr

das dynamisch Daten ausliefern kann.

Da macht es wenig Sinn, alles auszuliefern, und dann beim Client auszublenden.

Mit den richtigen Verfahren wird nur das geliefert, was auch zur Anzeige kommen soll.

Dafür basiert Drupal auf einer Datenbank und läuft unter einem WEB-Server mit einer Scriptingsprache (PHP).

Vertiefe dich in Drupal, und versuche nicht an Drupal vorbei zu entwickeln.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Außerdem solltest Du die

Eingetragen von tobi-berlin (857)
am 12.08.2014 - 18:24 Uhr

Außerdem solltest Du die Dokumentationen lesen, bevor Du die Drupal-Hooks verwendest... zu hook_init steht da (https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_init/7):

Zitat:

To add CSS or JS that should be present on all pages, modules should not implement this hook, but declare these files in their .info file.

  • Anmelden oder Registrieren um Kommentare zu schreiben

E-Fee schrieb Ich frag mich

Eingetragen von eisenbahnfan (16)
am 13.08.2014 - 15:03 Uhr
E-Fee schrieb

Ich frag mich auch: warum legst Du das Menü nicht einfach in einen Block und konfigurierst diesen Block drupalseitig so, dass er nur für angemeldete User sichtbar ist? Dann wird der entsprechende Code gar nicht erst an diesen User ausgeliefert.

Das habe ich soeben probiert, aber ich habe es nicht geschafft, das Hauptmenü in einen Block zu verschieben(?). Könnte mir bitte jemand sagen, wie das funktioniert? Ich hab nichts gefunden.

Ich verwende das Theme Marinelli.

Liebe Grüße,
Niki

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 4 Tagen 6 Stunden
  • Hey danke
    vor 5 Tagen 49 Minuten
  • Update: jetzt gibt's ein
    vor 5 Tagen 18 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 3 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 3 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 13 Stunden
  • In der entsprechenden View
    vor 2 Wochen 13 Stunden
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 13 Stunden
  • gelöst
    vor 4 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 6 Gäste online.

Benutzer online

  • wla

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