Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[gelöst]Blockansicht - Alle Seiten von X/* außer einer nicht

Eingetragen von Bernsch (243)
am 29.09.2012 - 18:34 Uhr in
  • Anfängerfragen
  • Drupal 7.x oder neuer

Hallo!
Ich würde gerne einen Block so anzeigen:

Nur die aufgelisteten Seiten: tennis/* AUSSER tennis/sponsoren

Das geht so nicht in den Standard-Einstellungen. Wie kann ich das aber lösen?
Ich möchte nicht unbedingt ein Modul verwenden. (ev. mit Context?)
Kann ich es mit PHP lösen? --> Wenn ja wie lautet der Code dazu?

Danke und liebe Grüße

‹ Auswahl des Taxonomy-Term in Node begrenzen Fehlende CSS-Klassen im Menü ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benenne den Alias um in

Eingetragen von ClemensW (207)
am 29.09.2012 - 18:43 Uhr

Benenne den Alias um in zB.
tennissponsoren

Weiss natürlich nicht ob das in Deinem konkreten Fall Sinn macht, war nur so ne Idee...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für den Tipp, aber das

Eingetragen von Bernsch (243)
am 29.09.2012 - 18:47 Uhr

Danke für den Tipp, aber das möchte ich so nicht. Da es auch meine Breadcrumb beeinflusst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ok, gerne.nächste

Eingetragen von ClemensW (207)
am 29.09.2012 - 18:52 Uhr

ok, gerne.

nächste theoretische Idee:

Hake Alle Seiten außer den angegebenen an, und schreibe in das Feld

tennis/sponsoren
+ zB.
hund/*
katze/*
maus/*
...

also alle Aliaspfade welche ausgeschlossen sein sollen, in der Hoffnung es sind nicht zu viele.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist "tennis" ein eigener

Eingetragen von Ionit (1802)
am 29.09.2012 - 18:54 Uhr

Ist "tennis" ein eigener Inhaltstyp?

Falls ja!

<?php
if (arg(0) == 'node') {
$node = node_load(arg(1));
if (
$node->type == 'tennis' && $node->nid != 'NID-von-Sponsoren') {
  return
true;
}
}
?>

In "NID-von-Sponsoren" muss die NID des Nodes "Sponsoren" eingefügt werden.

Gruß Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bernsch schrieb Ich möchte

Eingetragen von Goekmen (1013)
am 29.09.2012 - 19:26 Uhr
Bernsch schrieb

Ich möchte nicht unbedingt ein Modul verwenden. (ev. mit Context?)

Danke und liebe Grüße

Nimm Context, das spart dir das Programmieren. Die Bedienung ist recht simpel.

  • Anmelden oder Registrieren um Kommentare zu schreiben

PHP Code

Eingetragen von Bernsch (243)
am 30.09.2012 - 09:22 Uhr

@lonit:
Ja, genau sowas in der Art müsste ja gehen. Tennis ist ein term.
Und der kommt in der URL vor --> www.meineseite.com/tennis/*
Hier soll der Block angezeigt werden AUSSER bei dieser Seite --> www.meineseite.com/tennis/sponsoren

Das müsste ja abfragbar sein und TRUE zurückliefern, AUSSER wenn die eine Seite DANN false.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sichtbarkeit

Eingetragen von stBorchert (6003)
am 30.09.2012 - 10:27 Uhr

Hallo.
So könnte das funktionieren:

<?php
// Get current path (alias if existing).
$path = request_path();
$items = explode('/', $path);
if (
count($items) >= 1 && $items[0] == 'tennis') {
  if (isset(
$items[1] && $items[1] != 'sponsoren') {
    return
FALSE;
  }
  return
TRUE;
}
return
FALSE;
?>

Kurze Erklärung:
* Über [api:request_path:7] wird zuerst der Pfad der aktuellen Seite geholt. Dies kann "node/xxx" oder auch ein vergebener Alias sein.
* Der Pfad wird in seien Bestandteile zerlegt und danach dann geprüft, ob der erste Teil dem Text "tennis" entspricht.
* Wenn dem so ist, wird TRUE zurückgegeben, ausser der 2. Teil des Pfades ist "sponsoren".

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Codesnippet

Eingetragen von Bernsch (243)
am 01.10.2012 - 20:31 Uhr

Danke Stefan, das schaut schon logisch aus... aber leider funzt es so nicht :-(.
Vielleicht habe ich es zu wenig erklärt. Hier nochmal im Detail:

Der Block sollte folgende Sichtbarkeit haben:

NICHT SICHTBAR auf allen meinen Seiten:
Dies sind z.B.

  • www.meineseite/fussball
  • www.meineseite/fussball/*
  • www.meineseite/laufen
  • www.meineseite/laufen/*
  • usw.

UND NICHT SICHTBAR auf der Seite

  • www.meineseite/tennis/sponsoren

SICHTBAR aber auf

  • www.meineseite/tennis
  • www.meineseite/tennis/*
  • Anmelden oder Registrieren um Kommentare zu schreiben

kleiner Fehler

Eingetragen von stBorchert (6003)
am 30.09.2012 - 15:05 Uhr

Ah, sorry.
Die Zeile if (isset($items[1] && $items[1] != 'sponsoren') { muss lauten if (isset($items[1] && $items[1] == 'sponsoren') {.
Also "==" statt "!=".
Damit sollte es dann wie gewünscht funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

So funktioniert es jetzt

Eingetragen von Bernsch (243)
am 01.10.2012 - 20:25 Uhr

Hallo Stefan,
du hast noch eine schließende Klammer vergessen bei dieser Zeile: ;-)
if (isset($items[1]) && $items[1] == 'sponsoren') {

Mit diesem Code funzt es jetzt:

<?php
// Get current path (alias if existing).
$path = request_path();
$items = explode('/', $path);
if (
count($items) >= 1 && $items[0] == 'tennis') {
  if (isset(
$items[1]) && $items[1] == 'sponsoren') {
    return
FALSE;
  }
  return
TRUE;
}
return
FALSE;
?>

DANKE!
lg, bernsch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 3 Tagen 9 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 2 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 18 Stunden
  • melde mich mal wieder, da ich
    vor 9 Wochen 4 Tagen
  • Hey danke
    vor 9 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 1 Tag
  • In der entsprechenden View
    vor 11 Wochen 1 Tag

Statistik

Beiträge im Forum: 250237
Registrierte User: 20466

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

» 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 0 User und 21 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