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

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Wochen 4 Tagen
  • Textboxen mit Tabelle
    vor 3 Wochen 4 Tagen
  • Du sollst ja auch keine
    vor 3 Wochen 4 Tagen
  • Theme
    vor 3 Wochen 4 Tagen
  • Welches Theme benutzt du
    vor 3 Wochen 4 Tagen
  • Mit Responsive Raster hatte
    vor 3 Wochen 5 Tagen
  • Hallo Alex,um das Häkchen
    vor 3 Wochen 5 Tagen
  • Modul view_unpublished
    vor 3 Wochen 6 Tagen
  • Modul "override node options"
    vor 4 Wochen 15 Stunden
  • Im Grunde ist dass ein
    vor 4 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20483

Neue User:

  • Aathivithyah
  • Aoirhic
  • Stevebok

» Alle User anzeigen

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