Block als Modul anzeigen

Begonnen von SvenW, 03 November 2007, 15:23:44

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

SvenW

Hallo liebe Gemeinde,

ich würde gern einen Block als Modul anzeigen lassen. Dazu habe ich mir einen Modulordner angelegt und folgende index.php erstellt;

<?php
/*Meine block Anfang*/

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$module_name basename(dirname(__FILE__));
# mxGetLangfile($module_name);
$index 0;

$op = (empty($op)) ? "" $op;

include_once(
"header.php");

 {

}  

$file file("blocks/" $module_name "/mein.block.php");
$file implode(""$file);
$file preg_replace("#\<!-- (.*) --\>#si"" "$file); // HTML-Kommentare löschen


OpenTable();
echo 
$file;
CloseTable();

include_once(
"footer.php");



Leider funktioniert es mal wieder nicht und ich stelle mal die Frage in den Raum, ob es überhaupt möglich ist aus einem Block einfach ein Modul zu machen...

Könnte mir hier jemand helfen?


Thanks!


black














cihan

Hi  :)
du könntest einfach ein Modul erstellen und den Block includen, siehe hier.

SvenW

hi,

danke für dein feedback. der zaubersuchbegriff im forum wäre dann einfach "block includen".  :puzzled: :smile:

werde denne mal weiter versuchen...



gruß

black


SvenW

eins noch, hatte auch versucht einfach den gesamten quellcode vom block in ein leeres modul zu schreiben.

sollte das funktionieren? bei mir leider nicht, da wird dann einfach nur der gesamte quellcode angezeigt! lol










cihan

Ok, diesen Code einfach in eine index.php datei kopieren, in einem Ordner und den dann in deinem Module-Ordner laden.... Unter admin/module als Modul aktivieren...

<?php
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
// rechte Blöcke, an (1) oder aus (0)
$index 0;
$pagetitle "Kurdistan Forum - Weitere Themen";
// header includen
include('header.php');
?>


<table width="99%">
<tr>
<td>
<div class="storytitle"> Weitere Forenthemen ...</div>
<div style="border-left: 1px solid #f2f2f2; border-right: 1px solid #f2f2f2;  border-bottom: 1px solid #f2f2f2">
<?php
 $content
='';
include(
'blocks/dein_block.php');
echo 
$content;
unset(
$content);
?>

</div>

</td>
</tr>
</table>
<br>
<?php
// footer includen
include('footer.php');
?>


lg

SvenW

Zitat von: cihan am 03 November 2007, 17:38:01
Ok, diesen Code einfach in eine index.php datei kopieren, in einem Ordner und den dann in deinem Module-Ordner laden.... Unter admin/module als Modul aktivieren...




das ist mir schon klar. nur dachte ich aber evtl. kann mann oder frau sich den umweg in den blocks ordner mit "include('blocks/dein_block.php');"sparen und einfach den quellcode reinschreiben.

?

siggi

Hallo,
Zitatich würde gern einen Block als Modul anzeigen lassen
...oder auch eine immer wiederkehrende Frage wie "ein Modul als Block anzeigen lassen".

Es kursiert immer wieder dieses Thema. Die Funktionsweise und Art der Integration
im System beider Dinge sind gänzlich verschieden. Ein Modul kann Informationen zur Verfügung
stellen, die dann in einem anderen Bereich (z.B. in einem Block) als im Modul selber,
angezeigt werden können. Ein Block wird aus verschiedenen Gründen niemals wie
ein eigenständiges Modul arbeiten können. Zu nennen wäre alleine die Tatsache, daß
der Inhalt des Blocks in eine Variable geschrieben wird, die dann vom Blocksystem
in den jeweiligen Bereich der Seite (Leftblock, CenterBlock oben unten oder Rightblock) integriert wird.
Ein Modul benötigt die header.php und footer.php, die die systemabhängigen Parameter zur Verfügung stellen und das Modul bzw. dessen Ausgabe in die Seite integriert.
Da ein Modul dynamischen wie auch statischen Inhalt beinhalten kann, ist es mit einem Modul auch
möglich den Inhalt eines Blocks zu übernehmen und auszugeben. Dazu verwendet man lediglich
folgenden Aufbau:
Zitat von: index.php eines "Blockmodulbeispiels"

<?
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

$GLOBALS["index"] = 1; # 0 rechte Blöcke ausschalten
include("header.php");

include("blocks/block-Beispiel.php");
echo $content;

include("footer.php");

?>



Man kann es aber auch anders machen: Einfach den Block als Centerblock darstellen  :smile:

Zitat...sich den umweg in den blocks ordner mit "include('blocks/dein_block.php');"sparen und einfach den quellcode reinschreiben
Das ist letztendlich das Gleiche. :smile: 

Wenn man an Gras zieht wächst es auch nicht schneller.

SvenW

SUPER ERKLÄRT!

Da kommt der Dilettant nun auch weiter!  :BD:

DANKE!



Andi

snieef  :'(, war gerade am zusammenschrippseln und wurde unterbrochen...
<?php
/*
 * verhindern, dass dieses Script direkt aufgerufen werden kann
 * sondern nur z.B. ueber die modules.php
 */
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

/*
 * folgende 2 Zeilen, nur wenn Sprachdateien verfuegbar sind
 */
// $module_name = basename(dirname(__FILE__));
// mxGetLangfile($module_name);

/*
 * Rechte Bloecke an (1) oder aus (0)
 * Standard ist null, kann also entfallen
 */
$index 0;

/*
 * in der header.php wird das html Geruest erstellt und ausgegeben
 * normalerweise inkl. der linken Blockspalte
 */
include_once("header.php");

/*
 * bei Bedarf, je nach Theme, einen Design-Rahmen um die Ausgabe eroeffnen
 */
OpenTable();

/*
 * jetz einfach die Blockdatei includen
 */
include('blocks/block-BLOCKNAME.php');

/*
 * in der Blockdatei wird die Ausgabe des Blocks immer in der 
 * Variablen $content gespeichert.
 * Diese Variable hier einfach per echo ausgeben
 */
echo $content;

/*
 * den Design-Rahmen wieder schliessen
 */
CloseTable();

/*
 * in der footer.php wird das html Geruest abgeschlossen und ausgegeben
 * normalerweise inkl. der rechten Blockspalte (falls $index = 1)
 * ausserdem wird hier noch mod_rewrite und andere Dinge der Ausgabe manipuliert
 */
include_once("footer.php");

?>
schön´s Grüssle, Andi

SvenW

Zitat von: Andi am 03 November 2007, 18:21:17
snieef  :'(, war gerade am zusammenschrippseln und wurde unterbrochen...




Du wirst es überleben...  :BD: Ich empfinde es aber immer wieder als enorme Hilfe,  deine "/*Bemerkungen */"
in vielen Dateien zu finden. Und doch noch ein Loblied für Andi! *gg*


Gruß

Sven



Eismann1976

Danke, so hats mir noch keiner erklären können.   :thumbup:

So oft wie das gefragt ist und so gut wie es hier erklärt wurde wäre es doch evtl. sinnvoll den Beitrag mal oben festzumachen.
Nur mal so als Vorschlag   :)

LG Eismann


Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI



http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5