Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
S
Steff 0.png 16.12.2009 14:45

Block ins Template einbinden

Hallo zusammen

Folgende Situation.
Ich habe eine SinglePage, welche den Autonav Block aufruft. Gerendert wird das ganze mit einem template, welches eine XML-Ausgabe erzeugt.
http://twerenbold.meschch.nine.ch/create_footer_nav_xml

Mit dieser Singlepage und dem autonav template, wird nun jede Seite die ein bestimmtes Attribut hat, in diese XML-Datei gepackt.

Um das ganze nun wieder auf verschiedenen C5 Seiten (domain1.ch und domain2.ch) anzeigen zu können, gibt es einen kleinen Block. In diesem Block kann nun den Link zu der Single_Page auf der anderen Domain angegeben werden. Aus der XML generiert der Block dann wieder eine Link-liste (<a></a><br />).

Das ganze funktioniert so weit auch ganz gut. Nur möchte ich nicht, dass der Endbenutzer der Seite diesen Block bearbeiten kann. Darum möchte ich den Block in das Template einbinden. Kann mir einer sagen wie man das macht? Zum Autonav Block gibt es auf c5.org ja einige Beispiele. Aber für andere Blöcke, habe ich da leider noch nichts gefunden.

Vielen Dank,
Steff
S
Steff 0.png 16.12.2009 16:50
Ein bischen bin ich weiter gekommen. Denken ist halt manchmal Glückssache.

<?php
$bt = BlockType::getByHandle('my_block_handle');
$bt->controller->myParameter = 'asdf';
$bt->render('view');
?>

so weit so gut. Damit wird myParameter an den controller übergeben. Was so weit ja auch richtig ist. Nur wie rufe ich den Inhalt des Parameters ab? Ich hab verschiedene Blocks angeschaut und bin leider nicht schlauer geworden.
Ich weiss, dass ich wahrscheinlich eine Funktion im Controller haben muss, der mir die ganze geschichte dann schön ausgibt, bzw. die benötigten Infos an die view.php zurück gibt. Aber. Wie wie ich den Inhalt von myParameter auslesen kann, das habe ich noch nicht raus gefunden.
Kann mir da jemand ein bischen weiter helfen?

Vielen Dank,
Steff
S
Steff 0.png 16.12.2009 17:12
OK. Ich habe wieder einmal viel zu weit gesucht.
in der controller.php
function getURL(){
    return $this->URL;
}

und in der view.php
$URL = $controller->getURL();

Das wars schon.

PS: Ein toller Thread, den ich da gemacht habe *g*. Remo, du kannst diesen auch löschen wenn du willst.

Nachricht hinzufügen