Eigener Block soll nur auf bestimmten Seiten gezeigt werden.

Begonnen von katrin-sdt, 21 Mai 2007, 14:34:45

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 3 Gäste betrachten dieses Thema.

Andi

#20
Moin :)

@ all
Ich glaube ihr redet aneinander vorbei.
Der Block von Katrin hat mit Modulen an und für sich nichts zu tun. Da wird bestimmten Links ein bestimmter Parameter übergeben, der dann vom Block entsprechend ausgewertet wird. Das könnten auch Module sein, müssen es aber nicht.....
Die Idee ist so einfach, dass ich mir das erst auch nicht vorstellen konnte....


@ Katrin
Der Block funktioniert auch ohne Änderung an irgendwelchen Systemdateien. Die Variable $mnb ist  ja auch immer eine superglobale $_REQUEST Variable. Also kann man das ja auch direkt im Block verwenden.

2 Änderungen und funzt...

diesen unsinnigen Nuke-Kram: if (eregi("block-multiblock.php",$PHP_SELF)) {
    Header("Location: index.php");
    die();
}

durch folgendes ersetzen:
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

und vor: switch($mnb)
folgende zusätzliche Zeile einfügen: $mnb = (isset($_REQUEST['mnb'])) ? $_REQUEST['mnb'] : '';

Das könnte man sogar noch weiterspinnen und in der Session zwischenspeichern...


PS:
weiss ja nicht, ob dir das recht ist, aber zum Verständnis kannst du den Thread-Teilnehmern ja mal den Link geben, den du mir geschickt hast ;)  :BD:
schön´s Grüssle, Andi

katrin-sdt

Hallo

Danke Andi  :genie:  :BD: :BD: :BD: :BD: :BD: :BD: :BD:

Irgendwie habe ich mal wieder viel zu kompliziert gedacht. Und dann ist das sooo einfach.
Eine andere Website habe ich weiter oben schon genannt. Da besteht das gleiche Problem.

Nu kann ich endlich umsteigen  :BD: :BD:
 

onkel

Gibt es hie auch die Lösung für die Allgemeinheiten?


StegRene


onkel

Zitat5 Beiträge höher steht die Lösung doch?!

:puzzled: wenn du es sagst   :crazy:

Andi

#26
Klar steht da alles dort...
PHP-Kenntnisse natürlich vorausgesetzt, deswegen steht der Post hier in "Coder und Bastlerecke"



Zitat von: Andi am 06 Juni 2007, 00:09:12Da wird bestimmten Links ein bestimmter Parameter übergeben, der dann vom Block entsprechend ausgewertet wird.
Das ist in dem Beispiel die Variable $mnb. Wie das aussieht, sieht man auf der verlinkten Seite von Katrin.

Zitat von: Andi am 06 Juni 2007, 00:09:12
....
und vor: switch($mnb)
folgende zusätzliche Zeile einfügen: $mnb = (isset($_REQUEST['mnb'])) ? $_REQUEST['mnb'] : '';
also wird da die Variable $mnb per switch() ausgewertet: http://www.php.net/manual/de/control-structures.switch.php

Und es dürfte sich inzwischen rumgesprochen haben, dass ein Block immer die Variable $content mit irgendwelchen Inhalten füllt.

Also könnte der fertige Block wie folgt aussehen:

<?php
// pragmaMx multiblock, code & idea by katrin-sdt
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

$mnb = (isset($_REQUEST['mnb'])) ? $_REQUEST['mnb'] : '';

switch(
$mnb) {
    case 
'a' :
        
$content 'zeig irgendwas an, oder mach was...';
        break;
    case 
'b' :
        
$content 'zeig irgendwas anderes an, oder mach was anderes...';
        break;
    case 
'c' :
        
$content 'zeig was ganz anderes an, oder mach was total anderes...';
        break;
    default:
        
$content 'standardmässig mach eben das...';
}

?>
Mehr ist das nicht....
schön´s Grüssle, Andi

onkel

Hallo,

Soweit funktioniert es mit den Blöcken, es wird aber ''Sorry, dieses Modul ist nicht aktiv!'' angezeigt
http://domain.de/modules.php?name=Private_Messagesl&mnb=b

Und es '' funktioniert'' auch mit html und hier kommt dann eine Umleitung per ?moderror=news%26mnb%3Da und auch wird angezeigt das dass Module nicht aktiv ist.

http://domain.de/news&mnb=a.html



mfg
Onkel


katrin-sdt

Lösung kann ich gerne einstellen, muss sie aber noch direkt auf pragmamx umstellen. Derzeit läuft sie noch mit Nukefunktion.

katrin-sdt

man muß das Modul auch aktivieren, dann klappt es auch.  ;) Umgestellt auf Pragmamx mit Modul unter: http://cms.ccn-richter.de