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

Platzhalter im Menü

Eingetragen von GeorgHuber (10)
am 09.08.2011 - 10:01 Uhr in
  • Module
  • Drupal 7.x

Sehr geehrte ForenteilnehmerINNEN,
.
mit den Modulen "Special Menu Items" und "Void Menu" soll es laut
meinen Recherchen im Web möglich sein, den Klick eines Nutzers
auf einen Menüpunkt zu unterdrücken.
.
Daher habe ich beide Module (auch von "Special Menu Items" gibt es
einen Port auf Drupal 7) ausprobiert.
.
Leider gab es jedesmal bestenfalls nur die Meldung "page not found".
.
Hat jemand in diesem Forum es geschafft mit einem dieser Module
unter Drupal 7 die gewünschte "Klick-Unterdrückung" zu erreichen?
.
Und wenn ja, was muß dazu im Detail eingestellt bzw. noch per
Hand und PHP bzw. Javascript wo gemacht werden?
.
Ich wäre von einer großen Last befreit, wenn mir jemand dabei helfen
könnte.
.
Beste Grüße,
GeorgHuber

‹ Node relativity - list of nodes to attach - Eigene View? Wysiwyg ImageField, es will einfach nicht ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe gerade mal Special

Eingetragen von wla (9018)
am 09.08.2011 - 10:56 Uhr

Ich habe gerade mal Special menu Items für D7 getested. Der Unterschied zu D6 liegt darin, daß der Pfad jetzt <nolink> lauten muß. Bei D6 war es einfach nur nolink. Ich habe einen Menü-Eintrag im Navigations-Menü damit gemacht, und es ist nur ein Text im Menü mit einem Span-Tag eingerahmt. Es scheint aber Issues zu geben mit anderen Menü-Modulen. Da mußt Du Dir evtl mit einem jQuery-Script helfen. Ich brauchte bei D6 eins in dem Breadcrumbs, da Custom-Breadcrumbs mir auch einen merkwürdigen Link einbaute. Das folgende Script hat das behoben.

$(document).ready(function () {
  $('div.breadcrumb a[href*="nolink"]').each(function () {
    $(this).replaceWith( "<span>" + $(this).text() + "</span>" );
  });
});

Du mußt vermutlich die Selection für Deine Zwecke ändern.

Beste Grüße
Werner

.
Werner
drupal-in-duesseldorf.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK. Ich werde das versuchen, aber ...

Eingetragen von GeorgHuber (10)
am 10.08.2011 - 11:41 Uhr

was bitte ist ein jQuery-Script?

Welches Modul muß ich dazu laden?

Was muß in diesem jQuery-Script stehen?

Wo muß ich dieses jQuery-Script einbauen?

"Du mußt vermutlich die Selection für Deine Zwecke ändern."

Was ist eine "Selection", wo steht sie und was muß ich dann daran
ändern?

Lieber Werner, vielen Dank für Deine Antwort. Versteh' bitte meine Fragen
nicht falsch, ich meine sie nicht als schnippische Einwürfe, sondern ich
habe tatsächlich keine Ahnung was genau zu tun ist.

Das ist ja das Problem mit vielen Drupal-Foren-Beiträgen: sie geben für
Experten die richtigen Denkanstöße, aber Drupal-Anfänger bleiben auf der
Strecke.

Ich habe z.B. mehrere Wochen lang eine einfache Lösung gesucht, ohne
das Modul "Submenu Tree" die direkten "Kinder" eines menu items per PHP
und SQL zu erhalten, damit ich über das Styling mehr Kontrolle bekomme.

Die Lösung war (genauso wie das Finden des Parent items) dann zwar re-
lativ simpel, aber ich fand halt immer nur klitzekleine Hinweise oder ultra-
komplizierte Code Snippets, die aber dann ein bereits von Drupal fertig ge-
rendertes Submenu lieferten (eben genau das, was ich nicht wollte).

Ich hatte dies ursprünglich per Views-Modul versucht und bin kläglich ge-
scheitert. Mein Ansuchen um Hilfe in diesem Forum verhallte auch ungehört
(siehe http://www.drupalcenter.de/node/35494).

Es würde mich sehr freuen, wenn sich jemand eines Anfängers erbarmen
würde und wirklich erklärt was genau zu tun ist.
Mir wäre, da Special menu Items allem Anschein nach "eingestellt" ist,
eine Void-Menu-Lösung am liebsten, aber als Bittsteller kann man nicht
wählerisch sein.

Ich möchte auch versuchen, das wenige was ich bisher weiß und benötigte
als Modul oder Code veröffentlichen:

Modul für "Please enable Javascript"
Modul für "Find Parent item"
Modul für "Max number of Promoted Articles"

Code für "Kinder finden".

Beste Grüße,
GeorgHuber

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry, aber dann solltest Du

Eingetragen von wla (9018)
am 10.08.2011 - 12:30 Uhr

Sorry, aber dann solltest Du Dich erst mal auf Deinem lokalen System mit einem Drupal-Buch für Anfänger hinsetzen und die dort aufgeführten Beispiele nachvollziehen. Ohne ein Basis-Verständnis wirst Du hier im Forum immer wieder auf Informationen stoßen, mit denen Du nicht zurechtkommen kannst. Ich kann aber nicht jeden Anfänger ans Händchen nehmen und Schritt für Schritt durch die speziefischen Schwierigkeiten führen. Ich erwarte einfach, daß nach dem Angeben von Hinweisen der Fragesteller sich einarbeitet.
Oft werden hier spezielle Fragen gestellt, die auch ich nicht ohne eigenes Experimentieren beantworten kann. Wenn ich dazu aber keine Zeit (oder Lust) habe, werde ich darauf nicht antworten und anderen geht es sicher ebenso. Also solltest Du dich nicht wundern, wenn eine Frage unbeantwortet "verhallt".
Es gibt auch nicht zu jedem Thema ein Modul. Vieles erreicht man über das Zusammenwirken von mehreren Modulen.
Wenn Du Dich ernsthaft in Drupal einarbeiten willst, hilft nur experimentieren und lesen und die nötige Zeit einkalkulieren. Vielleicht gibt es in Deiner Gegend ja eine Drupal User Gruppe, an die Du Dich wenden kannst. In einem persönlichen Gespräch ist vieles einfacher, als hier im Forum. Zudem könntest Du dann Deine Probleme mitbringen und jemand kann sich das dann im Original ansehen.
Noch zu der Frage nach jQuery: jQuery ist eine JavaScript Library, die in Drupal schon mitgeliefert wird. Wie man ein solches Script einbindet findest Du in Büchern zum Theming bzw. in der Suche hier in Drupalcenter (oder Du googelst danach).

Beste Grüße
Werner

.
Werner
drupal-in-duesseldorf.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

So. Kleiner Erfolg.

Eingetragen von GeorgHuber (10)
am 11.08.2011 - 19:41 Uhr

Sehr geehrte ForenteilnehmerINNEN,
.
nach der sehr hilfreichen Antwort von Werner werde ich mich künftig
mit Anfragen an dieses Forum zurückhalten und nur noch nachvoll-
ziehbare Lösungsansätze posten. Vielleicht ändert sich dann die
etwas dünkelhafte Philosophie der Gurus etwas. (Ulkigerweise wurde
damit ein Vorurteil über Drupal-Experten, das in WordPress-Foren
zu finden ist, bestätigt: "Aloofness".)
.
Ich benutze ein Subtheme zu OMEGA 7.x-3.0-rc2. Dort habe ich
probeweise im Template namens "html.tpl.php" nach folgendem
Code Skript eingefügt:
.
(Da in diesem Editor wohl die in der Physik üblichen "bra" und "ket"
bzw. "Kleiner-" und "Größerzeichen" oder auch "Spitzenklammern"
mit Steuerbefehlen kollidieren könnten, verwende ich für die linke
(also die öffnende) "Spitze Klammer" das Wort "bra" und für die
rechte (also die schließende) "Spitze Klammer" das Wort "ket".

bra?php print $page; ?ket /* "html.tpl.php" */

Hier beginnt also mein kleines Erfolgsskript:

brascript type="text/javascript"ket
jQuery(document).ready(function(){
jQuery("#").click(function() {
return false;
});
});
bra/scriptket

Nach dem Speichern und zweimaligen Neuladen der gerade aktuellen
Webpage (das braucht Drupal anscheinend um die Änderungen der
Datei "html.tpl.php" zu übernehmen) änderte ich unter folgendem Pfad
im Administratorbereich "Content - edit" den content XXX um:

Ich wählte "URL path settings" und entfernte den Haken neben
"Automatic alias" und änderte im darunter liegenden Inputfeld mit dem
Label "URL alias" den Eintrag auf "#" (ohne Anführungszeichen) um.

Die Voraussetzung, damit dies die gewünschte Wirkung erzielt ist
nur, daß das Void-Menu-Modul aktiviert worden ist und dort die Ein-
stellungen so belassen werden, wie sie nach der Aktivierung ohnehin
sind.

Damit erreichte ich, daß ein Klick auf den Menue-Punkt namens XXX
keinen Seitenwechsel hervorrief. Es gab auch keine Fehlermeldungen.

Noch bestehende Nachteile:

1) Drupal versuchte trotzdem eine Seite vom Server zu laden, allerdings
passierte sonst - wie eben gewünscht - nichts. Die Seite von der der
Klick ins Menue erfolgte blieb bestehen.

2) Über die Breadcrumbs kann leider die eigentlich "deaktivierte" Page
noch immer aufgerufen werden.

Ich versuche, auch dies noch in den Griff zu bekommen. Wenn sich hier
ein (Teil-)Erfolg einstellt, melde ich mich wieder.
.
Beste Grüße,
GeorgHuber

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry, aber Du kommst mir vor

Eingetragen von wla (9018)
am 11.08.2011 - 20:41 Uhr

Sorry, aber Du kommst mir vor wie jemand, der ein Haus bauen will und, obwohl man ihm rät mit Keller und Parterre anzufangen, mit dem Balkon in ersten Stock beginnt. Der muß zwar mit wackeligen Balken irgenwie abgestützt werden, aber da ist nun mal für Dich der Anfang.

Der Editor hier versteht Code in normaler Schreibform, wenn Du den Code mit <code> und </code> einrahmst und dazu gibt über dem Eingabefenster sogar eigens einen Button.
Zu Deiner jQuery-Funktion was soll die denn leisten?

jQuery(document).ready(function(){
jQuery("#").click(function() {
return false;
});
});

jQuery("#"): Für das # mußt Du einen CSS-Selector verwenden z.B. #main. Dann liefert jQuery alle in der Webseite liegenden Tags, die die ID main gesetzt haben. Also wird nur ein einziges Element geliefert, da eine ID in der Seite immer eindeutig ist. Ohne eine Angabe nach dem # gibt es nichts, also hat Deine Funktion auch keine Wirkung.
Bitte tue uns den Gefallen und arbeite dich in die Grundlagen ein. Basteln in jQuery ohne Basis in CSS-Selektoren und minimale Programmierkenntnisse hilft Dir nicht weiter.

Beste Grüße
Werner

.
Werner
drupal-in-duesseldorf.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

[Gelöst]

Eingetragen von GeorgHuber (10)
am 15.08.2011 - 13:20 Uhr

Sehr geehrte ForenteilnehmerINNEN,

ich möchte nun meine Lösung für mein Problem kurz darstellen.
Vielleicht ist sie auch anderen Drupal-AnwenderINNEn eine
Hilfe.

Den nachfolgenden Code baute ich im Template html.tpl.php (ich
verwende ein Subtheme von OMEGA, bei anderen Themes heißt
das korrespondierende Template wohl page.tpl.php) ein:

<?php
$string_jQuery01
='<script type="text/javascript">'.'jQuery(document).ready(function(){'.'jQuery("a[href = /drupal-7.7/content/xxx]").click(function(){'.'return false;})});'.'</script>';
?>

<?php print $string_jQuery01; ?>

Dabei steht "xxx" (ohne Anführungszeichen) für die Node, die nicht
klickbar sein soll.

Diese Lösung hat für mich mehrere Vorteile:

1) Ich bin nicht mehr auf die Module "Special Menu Items" und
"Void Menu" angewiesen.

2) Ich kann per PHP-Code jede beliebige Node in das obige Code-
Schema einfügen und somit gezielt Menu-Items "abschalten".

3) Aus diesem Code heraus kann ich ein Modul erstellen.

Ach ja: Jetzt funktioniert das Ganze auch mit den Breadcrumbs.

Dies mag nicht die schönste Lösung sein, aber sie tut genau
das was sie soll, sie ist beliebig ausbaubar und ich brauche erst
gar nicht zu verstehen, was Module "Special Menu Items" und
"Void Menu" genau machen oder welche Einstellungen sie for-
dern.

Ich würde mich sehr freuen, hier in diesem Forum öfter solche
Rezept-artigen Lösungen zu finden.

Beste Grüße,
GeorgHuber

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • [gelöst] Sichtbarkeit von Seiten über Rollen steuern
  • [gelöst] Menüpunkte deaktivieren sich automatisch
  • Kartenansicht, Position des Users und Nodes anzeigen
  • Theme suggestion wird nicht verwendet
  • [gelöst]Pflichtfeld vom User deaktivieren lassen
  • Konto löschen, wie? (Drupalorg/Drupalcenter)
  • Layout-Builder hängt
  • Drupal 8/9 SEO-Beratung/Coaching
  • Verschachtelte UND / ODER Abfrage mit hook_views_query_alter
  • Hilfe zu Views und Filter?
  • Views für 2 Kategorien
  • [gelöst]Probleme nach löschen eines Menüpunktes im Adminmenü
Weiter

Neue Kommentare

  • Zitat: Ich möchte ja die
    vor 1 Stunde 41 Minuten
  • Gelöst
    vor 2 Stunden 3 Minuten
  • Das hilft mir leider nicht.
    vor 2 Stunden 9 Minuten
  • Wenn ich es richtig verstehe,
    vor 3 Stunden 44 Minuten
  • Liebe Regina, herzlichen Dank
    vor 14 Stunden 54 Minuten
  • Nimm content access, aber Du
    vor 22 Stunden 33 Minuten
  • Verlege diese Funktion in ein
    vor 22 Stunden 51 Minuten
  • Nodeaccess geht ja gerade
    vor 1 Tag 3 Minuten
  • sollte mit domainaccess gehen
    vor 1 Tag 1 Stunde
  • Danke das ist die Lösung
    vor 1 Tag 20 Stunden

Statistik

Beiträge im Forum: 246108
Registrierte User: 18885

Neue User:

  • Stine_64
  • uniquename
  • xapizm

» Alle User anzeigen

User nach Punkten sortiert:
wla9018
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3917
ronald3832
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 8 Gäste online.

Benutzer online

  • bv

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