[Gelöst] PHP Problem

am 12.11.2009 - 11:44 Uhr in
Hallo Leute,
ich hab ein kleines Problem im Bereich PHP bezüglich der Sichtbarkeit von Blöcken.
Ich möchte das ein bestimmter Blog nur angezeigt wird wenn der Seitentyp nicht "page" ist. Das habe ich hiermit erreicht:
<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
$node = node_load(arg(1));
}
if ( $node->type != 'page' ) {
return TRUE;
}
?>
Weiter soll der Block aber auf allen "edit" Seiten sichtbar sein. Also dachte ich mir, änderst du den Code folgendermaßen ab:
<?php
if ( (arg(0) == 'node' && arg(1) == */edit) ) {
return TRUE;
}
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
$node = node_load(arg(1));
}
if ( $node->type != 'page' ) {
return TRUE;
}
?>
Leider zeigt er mir den Block jetzt überall an und nicht nur auf den "edit" und nicht "page" Seiten. Ich habe es auch noch mit folgenden 2 Variationen des ersten Teils des Codes erfolgslos probiert.
if ( (arg(0) == 'node' && arg(1) == /edit) ) {
return TRUE;
}
if ( (arg(0) == 'node' && arg(1) == edit) ) {
return TRUE;
}
Da ich leider sehr wenig Ahnung von PHP habe, hoffe ich das mich hier einer mit der Nase auf den Fehler stoßen kann.
Gruss Bastian
- Anmelden oder Registrieren um Kommentare zu schreiben
Fehler
am 12.11.2009 - 12:56 Uhr
if ( (arg(0) == 'node' && arg(1) == */edit) ) {
*Stubs*
"*/edit" ist ein String und sollte auch dementsprechend behandelt werden. Desweiteren ist "edit" das 3. Argument (also
arg(2)
):if ( (arg(0) == 'node' && arg(2) == 'edit') ) {
hth,
Stefan
--
sei nett zu Deinem Themer
Vielen Dank
am 12.11.2009 - 13:27 Uhr
Vielen Dank Stefan,
daran hat es logischerweise gelegen.
Komme wohl doch nicht drum herum mich genauer in PHP einzuarbeiten.
Gruss Bastian