Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Blöcke für bestimmte node-typen ausblenden?

Eingetragen von patcher (217)
am 14.12.2007 - 23:01 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

hallo,

ich möchte gerne bestimmte blöcke in meiner rechten spalte für bestimmte node-typen ausblenden. kann mir jemand den entpsrechenden php-code aufzeigen? kenne mich mit php gar nicht aus. oder gibt es auch eine lösung ohne php, wenn ich nicht jeden pfad händisch bei dem jeweiligen block eintragen will?

lieben dank
patcher

‹ Wie man Downloads richtig anlegt Woher kommen die Variablen ??? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

code

Eingetragen von tumblingmug (872)
am 14.12.2007 - 23:17 Uhr

Dieser Code bei der Blockkonfiguration des betreffenden Themes im Feld "Nur anzeigen, wenn der folgende PHP-Code TRUE zurückgibt" gibt den Block bei den Inhaltstypen 'your_node_type' und 'other_node_type' nicht aus:

<?php

if (arg(0) == 'node' && is_numeric($nid = arg(1))) {
   
$node = node_load($nid);
    return (
$node->type != 'your_node_type' && $node->type != 'other_node_type');
}
return
TRUE;
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mein Code wuerde, das

Eingetragen von quiptime (4972)
am 14.12.2007 - 23:39 Uhr

Mein Code wuerde, das bereits gepostete Beispiel aufgreifend, so aussehen:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
  if (
$node->type == 'nicht-anzeigen-node-type' || $node->type == 'weiterer-nicht-anzeigen-node-type' ) {
    return
FALSE;
  }
}
return
TRUE;
?>

Das || als ODER ist wichtig. Verwendet man statt dessen && als UND kann es nicht klappen. Es koennen ja nicht mehr als ein Nodetype gleichzeitg bei einer Node zustaendig sein.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

super, danke euch. habe aber

Eingetragen von patcher (217)
am 15.12.2007 - 15:25 Uhr

super, danke euch.
habe aber auch noch eine nicht-php-lösung mit pathauto-moduld gefunden und dann einfach den "neuen" pfad beim block ausblenden lassen.
ist mir als php-laie sympathischer.
gut oder? ;-)

_______________________________

http://www.familiengruender.de | Vereinbarkeit von Beruf & Familie | Work-Life-Balance

  • Anmelden oder Registrieren um Kommentare zu schreiben

Path Abhängigkeiten

Eingetragen von tumblingmug (872)
am 15.12.2007 - 18:07 Uhr
patcher schrieb

gut oder? ;-)

Ja, alles ist gut, wenn Du damit zurechtkommst. Pathauto kann aber kitzlig sein. Ein Alias ist zudem und prinzipiell labiler als ein abgefragter Nodetyp, weil bei letzterem natürlich sich selbst dann nichts ändert, wenn die Eisenbahn drüberfährt. Hingegen brauchst Du nur die Situation, wegen irgend etwas einmal pathauto deaktivieren zu müssen (Upgrade u. dgl.) und schon wird die Sache labil, wenn Du kein gutes Gedächtnis hast. Deine Lösung ist, kurz gesagt, von Pathauto, aber noch mehr von Path abhängig. Die PHP-Lösung tut auch dann noch was Du willst, wenn Path deaktiviert ist. Damit ist sie robuster.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ok, dann ist es ja nochmal

Eingetragen von patcher (217)
am 15.12.2007 - 18:37 Uhr

ok, dann ist es ja nochmal ne überlegung wert ;-)

_______________________________

http://www.familiengruender.de | Vereinbarkeit von Beruf & Familie | Work-Life-Balance

  • Anmelden oder Registrieren um Kommentare zu schreiben

und views?

Eingetragen von patcher (217)
am 15.12.2007 - 18:52 Uhr

das von euch aufgezeigte php funktioniert in den angegebenen nodes.
ein problem stellt sich mir aber noch: habe noch einige übersichtsseiten, die ich mit views als page darstellen lasse, hier sollen die blöcke auch ausgeblendet werden. können bestimmte views in das php auch noch integriert werden, neben den nodes?

_______________________________

http://www.familiengruender.de | Vereinbarkeit von Beruf & Familie | Work-Life-Balance

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Views Uebersichtsseiten

Eingetragen von quiptime (4972)
am 16.12.2007 - 00:27 Uhr

Die Views Uebersichtsseiten haben ja eine konkrete URL. Die kann man ebenso und wenn ja dann den Block nicht anzeigen.

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
  if (
$node->type == 'nicht-anzeigen-node-type' || $node->type == 'weiterer-nicht-anzeigen-node-type' ) {
    return
FALSE;
  }
} else if (
arg(0) == 'myview_foo_url' || arg(0) == 'myview_bar_url') {
  return
FALSE;
}
return
TRUE;
?>

In dem Beispiel sind myview_foo_url und myview_bar_url die im Page View definierten URL's/Pfade.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

super

Eingetragen von patcher (217)
am 22.12.2007 - 14:15 Uhr

super danke!
_______________________________

http://www.familiengruender.de | Vereinbarkeit von Beruf & Familie | Work-Life-Balance

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das genannte Beispiel habe

Eingetragen von Schneekoenig (86)
am 03.02.2008 - 10:23 Uhr

Das genannte Beispiel habe ich folgendermaßen umgesetzt:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
  if (
$node->type == 'acidfree' || $node->type == 'forum' ) {
    return
FALSE;
  }
}
return
TRUE;
?>

Leider verschwindet der ungeliebte Block nicht...
Was habe ich falsch gemacht? Weder beim Fotoalbum, noch beim Forum verändert sich die Ansicht.
Den Cache des Browsers habe ich inzwischen geleert. :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Inzwischen habe ich es auch

Eingetragen von Schneekoenig (86)
am 04.02.2008 - 08:55 Uhr

Inzwischen habe ich es auch mit anderen Themes ausprobiert. Auch dort funktioniert dieser Code nicht. Hat denn niemand einen Tipp, woran es liegen könnte?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gute Beispiele

Eingetragen von tumblingmug (872)
am 04.02.2008 - 19:26 Uhr

Die äussere Bedingung (arg(0) == 'node' && is_numeric($nid = arg(1))) erfasst nur konkrete Forenbeiträge, nicht die Forenübersichtsseiten. Bei diesen hat arg(0) den Wert 'forum'.

Und bei 'acidfree' gilt, wenn ich richtig sehe, dass die Alben- und Thumbnail-Previews zum Nodetyp 'album' gehören, das Einzelbild hingegen zum Nodetyp 'image'.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab 'album' und 'image'

Eingetragen von Schneekoenig (86)
am 04.02.2008 - 21:28 Uhr

Hab 'album' und 'image' ausprobiert. Leider will es einfach nicht...
Naja, werde halt jetzt keine rechten Blöcke mehr einstellen. Muss jetzt alles in die linke Sidebar rein...
Trotzdem vielen Dank!
Gruß
tom

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ohne rechte Seitenleiste sieht es unschön aus

Eingetragen von Schneekoenig (86)
am 10.02.2008 - 11:57 Uhr

Hat nicht doch jemand eine Idee, warum ich die Blöcke der rechten Seitenleiste nicht ausblenden kann? Die oben beschriebenen Vorgehensweisen führen IN ALLEN THEMES (auch den originalen) nicht zum Erfolg.

Ich wär euch seeehhhr dankbar für weitere Tipps... :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das funktioniert ...

Eingetragen von tumblingmug (872)
am 10.02.2008 - 21:29 Uhr

... zumindest bei mir:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
  if (
$node->type == 'acidfree' || $node->type == 'forum' || $node->type == 'image') {
    return
FALSE;
  }
}
if (
arg(0) == 'forum') { // Forenübersichtsseiten
   
return FALSE;
}
return
TRUE;
?>

bei, wie oben gesagt, gewählter Option: "Nur anzeigen, wenn der folgende PHP-Code TRUE zurückgibt (PHP-Modus für Experten)."

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schade

Eingetragen von Schneekoenig (86)
am 11.02.2008 - 17:32 Uhr

Ich habe jetzt noch einmal deinen Code kopiert und natürlich auch die Option "Nur anzeigen, wenn..." gewählt. Aber es will einfach nicht. Ich vermute, dass ich irgendwo in den Tiefen von Drupal noch einen Schalter umlegen muss...
Wäre schön, wenn es doch noch lösbar wäre. Aber ganz so schlimm ist es nicht: Meine sidebars sind inzwischen so schmal eingestellt, dass jetzt genug Platz in der Mitte ist, um Bilder und Foren ausreichend groß darstellen zu können.
Vielen Dank für eure Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was genau tut sich denn nicht?

Eingetragen von tumblingmug (872)
am 11.02.2008 - 20:22 Uhr

Du bist sehr unbestimmt in Deiner Beschreibung. Geht denn gar nichts? Geht es nur teilweise? Also was genau geht/ geht nicht? (Und das mit diesem irrationalen "irgendwo in den Tiefen" lass' besser bei Windows, wo man ganz sicher solche Dinge zurecht sagen kann. Drupal ist ein OpenSource-CMS, sprich: es liegt nur an Dir, wie sehr Du in die "Tiefe" gehen willst bzw. an Einblick in Funktionalität interessiert bist.)

Praktische Frage: Hast Du die PHP-Tags <?php ... ?> mitkopiert oder nur das, was dazwischen steht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mein Ziel ist ja, den Block

Eingetragen von Schneekoenig (86)
am 12.02.2008 - 07:44 Uhr

Mein Ziel ist ja, den Block "Umfrage" an der rechten Seitenleiste auszublenden.
Ja, ich habe den GESAMTEN von dir geposteten Code übertragen. Mit <?... bis >
Es tut sich nichts heißt, dass der Block einfach nicht verschwinden will.
Mit meiner Bemerkung über die Tiefen des Systems meine ich, dass ich vermute, dass ich vielleicht bei der Installation des Grundsystems irgend etwas übersehen habe. Schließlich funktionieren ja auch keine Clean-URLs oder die Standard-Suche wenn man Strato als Hoster gewählt hat. (Ich überlege wirklich, zu wechseln, habe aber Angst, dass ich dabei mehr zerstöre, als jetzt geht...)
Bin halt noch ganz am Anfang von Drupal...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Test

Eingetragen von tumblingmug (872)
am 12.02.2008 - 08:58 Uhr

Bringt folgender Code bei Dir den Block - in dieser Form natürlich auf jeder Seite - zum Verschwinden?:

<?php
return FALSE;
?>

Wenn ja, dann stimmt etwas an der Code-Logik oben nicht mit Deiner konkreten Umgebung zusammen und man könnte weitertesten.

Falls der Block aber weiterhin überall erscheint, müsste man wahrsch. vor Deiner Installation doch eher im weißen Kittel sitzen ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aaaargh! Dummheit muss bestraft werden!!!

Eingetragen von Schneekoenig (86)
am 12.02.2008 - 09:25 Uhr

Los prügelt auf mich ein! Ich bin ja sooo doof!!!
Ich verwende den FCKeditor. Dort gibt es einen Knopf "Quellcode". Den hätte ich viel früher einmal drücken müssen und danach erst den PHP-Code eingeben sollen.
Jetzt geht es auf jeden Fall! Viiieeelen Daaaaank tumblingmug und euch allen!
Ist mir wirklich ziemlich peinlich so doof zu sein... :-)
Ich hoffe, irgendwann einmal auch etwas an dieses Forum zurückgeben zu können...
Gruß von einem, der einen Riesenschritt weitergekommen ist!
*juhuuu*

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kommentar und zugehoerige Node ID - ermittelbar?

Eingetragen von quiptime (4972)
am 01.03.2008 - 21:54 Uhr

Das Ganze funktioniert. Aber mit 2 Ausnahmen:

1. Kommentar bearbeiten, comment/edit/xx
2. Kommentar loeschen, comment/delete/xx

xx ist die Komentar ID

In diesem Falle muesste man von der Kommentar ID ausgehend die Node ID ermitteln zu welcher der Kommentar gehoert und wie gehabt node_load

Und genau das versuche ich gerade.

Weiss Jemand wie man von einem Kommentar die Node ID ermitteln kann zu welcher ein Kommentar gehoert

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo quiptime, Du lebst ja

Eingetragen von tumblingmug (872)
am 02.03.2008 - 01:14 Uhr

Hallo quiptime, Du lebst ja noch. Schön, dass Du wieder da bist.

<?php
$comment
= db_fetch_object(db_query('SELECT nid FROM {comments} WHERE cid = %d', arg(2)));
print
'Node ID ist '. $comment->nid;
?>

wobei "arg(2)" klarerweise stellvertretend für die cid steht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke Dir für Deine

Eingetragen von quiptime (4972)
am 02.03.2008 - 02:27 Uhr

Danke Dir für Deine Antwort. Klar lebe ich noch:
1. Unkraut vergeht nicht,
2. Einmal Drupal immer Drupal

Bis zu der Stelle, das Kommentare so wie Nodes ein Objekt zur Verfügung stellen war ich schon gekommen - ist ja naheliegend. Nur beim Rest hatte ich 'nen Klemmer. Ja ja, die Fetcher.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, nochmal für einen

Eingetragen von Board (5)
am 28.03.2008 - 17:33 Uhr

Hallo,

nochmal für einen Anfänger:
wie müßte der Code jetzt aussehen, wenn ich für ein Forum (forum), dessen Beiträge ( node/* ), usw. die Blöcke in der rechten Spalte ausblenden möchte?

  • 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 2 Wochen 9 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 6 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 16 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