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

[gelöst] PHP-Modus bei Block schlägt nicht an...

Eingetragen von goisgo (102)
am 15.10.2009 - 12:10 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo Community,

habe Blöcke, die in Abhängigkeit von Inhaltstypen angezeigt werden müssten.
Möchte dies über Blockeigenschaft->PHP-Code erreichen.

Habe dazu auch den Thread 12953 durchgelesen, aber nicht mal der einfachste Code funktioniert nicht:

<?php
if($node->type=='inhalt_xyz') return true;
?>

Wenn ich aber nur

<?php
return true;
?>

eintrage, dann klappt es (natürlich...).

Der Name des $types stimmt, gebe ihn zum Testen über die node.tpl.php aus.

sos'chen,
LG,
goisgo

‹ Bessere Kontrolle über $links update php funzt bei clone nicht [gelöst] ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Block

Eingetragen von stBorchert (6003)
am 15.10.2009 - 13:35 Uhr
goisgo schrieb

<?php
if($node->type=='inhalt_xyz') return true;
?>

Weiss denn der Block, was mit $node gemeint ist?
Oder anders gefragt: wo steht, welche Daten in $node enthalten sind?
Ich nehme mal an, Du verwendest kein node_load um die gerade angezeigte (oder eine beliebige andere) Node zu laden, oder?

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Stimmt, habe das aber auch

Eingetragen von goisgo (102)
am 15.10.2009 - 14:05 Uhr

Stimmt,
habe das aber auch schon mal so versucht:

<?php
if (arg(0) == 'node') {
$node = node_load(arg(0));
}
if(
$node->type=='inhalt_xyz') return true;
?>

Klappt aber auch nicht.
Könnte es am URL-Alias liegen, da ich ja überhaupt nicht mit node/12 etc. arbeite, sondern diese überschrieben werden?

LG,
goisgo

* EDIT *

Auch so kein Erfolg:

<?php
if(arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
return
$node->type = $type;
}
if(
$type=='inhalt_xyz') return true;
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: PHP-Modus bei Block schlägt nicht an...

Eingetragen von traxer (1009)
am 15.10.2009 - 14:55 Uhr

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) { // Bin ich auf einer Node-Seite?
 
$node = node_load(arg(1));
  if (
$node && $node->type == 'inhalt_xyz') { // Wurde der Node gefunden und hat er den richtigen Typ?
   
return true;
  }
}
return
false;
?>

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, sorry aber klappt auch

Eingetragen von goisgo (102)
am 15.10.2009 - 14:58 Uhr

Hm,

sorry aber klappt auch nicht. Kann es an meiner URL Alias liegen?
node/14 => Historie/Geschichte

?

LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Am Alias liegt's nicht

Eingetragen von traxer (1009)
am 15.10.2009 - 16:22 Uhr
goisgo schrieb

Kann es an meiner URL Alias liegen?
node/14 => Historie/Geschichte

Nein, der Alias wurde bereits in den eigentlichen Drupalpfad übersetzt

goisgo schrieb

sorry aber klappt auch nicht.

Normalerweise mache ich keine Fehler :-) Streue ein paar Statusmeldungen ein:

<?php
drupal_set_message
('1. Prüfung ob Block angezeigt werden soll.', 'warning');

if (
arg(0) == 'node' && is_numeric(arg(1))) { // Bin ich auf einer Node-Seite?

drupal_set_message('2. Node-Seite wird angezeigt. Node wird geladen.', 'warning');

 
$node = node_load(arg(1));
  if (
$node && $node->type == 'inhalt_xyz') { // Wurde der Node gefunden und hat er den richtigen Typ?

drupal_set_message('3. Node wurde geladen und hat passenden Typ. Block soll angezeigt werden', 'warning');

    return
true;
  }

elseif (
$node) { drupal_set_message("3. Node hat falschen Typ: '$node->type'.", 'warning'); }
else {
drupal_set_message("3. Node wurde nicht gefunden.", 'warning'); }

}

else {
drupal_set_message("2. Keine Node-Seite.", 'warning'); }

return
false;
?>

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

HAst du den Block auch in

Eingetragen von Tobias Bähr (4019)
am 15.10.2009 - 17:08 Uhr

HAst du den Block auch in eine Region gezogen?

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, also auch die

Eingetragen von goisgo (102)
am 16.10.2009 - 11:37 Uhr

Hallo,

also auch die Statusmeldungen: Nichts kommt.... wo müsste die Meldung auftauchen?
Ja, er ist in einer Region.

Eigenartig oder?

LG,
goisgo

** Update **

Habe nun die Statusmeldungen über die node.tpl.php ausgegeben.
Wirklich, die Meldung zeigt

* 1. Prüfung ob Block angezeigt werden soll.
* 2. Node-Seite wird angezeigt. Node wird geladen.
* 3. Node wurde geladen und hat passenden Typ. Block soll angezeigt werden

Den gleichen Code habe ich im Block stehen. Aber er wird nicht angezeigt.

???
LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gelöst und Sorry...

Eingetragen von goisgo (102)
am 16.10.2009 - 11:47 Uhr

Hallo,

ok der letzte Tipp von traxer hat mir geholfen.
Der Block wird jetzt angezeigt. Was ich nach dem letzten Versuch vergessen habe: Den richtigen Button beim Block zu wählen (also den PHP Ausgabe TRUE....). Bin jetzt glücklich und DANKE !

LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • ??????? ??? ?? ????????? ?????? - ???? ? ????? ???;
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
Weiter

Neue Kommentare

  • Gefunden
    vor 6 Wochen 3 Tagen
  • Vielen Dank für die ausführlichen Hinweise...
    vor 7 Wochen 12 Stunden
  • Mögliche Ursachen und nächste Schritte
    vor 7 Wochen 16 Stunden
  • Was für einen Server benutzt
    vor 9 Wochen 3 Tagen
  • Wenn die Subdomain auf
    vor 9 Wochen 5 Tagen
  • ordnerstruktur
    vor 9 Wochen 6 Tagen
  • Die Subdomain muß auf den
    vor 10 Wochen 1 Tag
  • Verwende doch das Tag dafür,
    vor 13 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 13 Wochen 2 Tagen
  • Guckst du hier: step by step
    vor 13 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250295
Registrierte User: 20538

Neue User:

  • Claudiabuh
  • Kupit_qsPi
  • 888sportrofs

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 15 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