Zur Boardunity Forenstartseite
  #1  
Alt 02.08.2004, 12:22
Mitglied
 
Registriert seit: 08.2004
Beiträge: 8

Vorgehen: Eigene Variable einbinden


Hi Leute,
erstmal ein großes Dankeschön an die Entwickler, X-Mentor ist klasse!
Dann hätte ich noch eine Frage: Wie kann ich eine eigene Variable definieren?
Also, nach dem Beispiel aus der Doku:
Code:
<p><b>{text}</b></p>
wird zu
Code:
<p><b>Lorem ipsum dolor sic amet</b></p>
Ich würde gerne eine Variable so wie {text} einführen, also z.B. {foo}, die den Rückgabewert meiner PHP Funktion foo() enthält.
Kann mir da jemand weiterhelfen?

Danke, Jaques
  #2  
Alt 02.08.2004, 17:08
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Eigentlich ganz einfach.
Du musst nur wissen, in welchem Template die Variable verfügbar seien soll, dann einfach mit in das Array packen, dass beim Aufruf der get-Methode der Template-Klasse als Parameter übergeben wird.

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #3  
Alt 03.08.2004, 15:44
Mitglied
 
Registriert seit: 08.2004
Beiträge: 8
Danke für deine Antwort DragonMaster! Leider hab ichs noch nicht so ganz geblickt
Also, wenn ich {foo} in article.tpl verwenden will, in welchen Array muss dann was reingeschrieben werden?

Danke, Jaques

  #4  
Alt 03.08.2004, 16:33
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
./inc/system.class.php
Suche:
PHP-Code:
$result[0]['text']    = Bbcode::encode($result[0]['text'],$result[0]['format']); 
Füge darunter ein:
PHP-Code:
$result[0]['foo']     = foo(); 

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #5  
Alt 03.08.2004, 19:15
Mitglied
 
Registriert seit: 08.2004
Beiträge: 8
Klasse! Tausend Dank!
Nur noch eine Frage: Wie finde ich raus, in welchen include-Dateien ich die Änderung vornehmen muss, wenn ich die Variable auch in anderen Templates nutzen will?

Danke nochmal! Jaques!

EDIT:
Nochwas: Die Zeile, die ich suchen sollte, finde ich in system.class.php zweimal, in der Funktion article($id) und in doprint($id). Muss ich die Änderung in beiden Funktionen vornehmen?

  #6  
Alt 03.08.2004, 19:42
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Kommt darauf an, ob du die Variable auch in der Druckversion benötigst.

Es geht immer nur über die system.class.php-Datei, bzw. deren Methoden.

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #7  
Alt 03.08.2004, 20:15
Mitglied
 
Registriert seit: 08.2004
Beiträge: 8
Achso, habs geblickt. Aber wenn ich in header.tpl {foo} brauche, wie mach ich das dann, weil die Funktion header ja
PHP-Code:
return $GLOBALS['Template']->load('header'$array); 
zurückgibt und keinen Array $return?

  #8  
Alt 03.08.2004, 21:29
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Musst du nachsehen, wo $array initialisiert wird oder eine Zeile über diesem return folgendes einbauen:
PHP-Code:
$array['foo'] = foo(); 

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #9  
Alt 10.08.2004, 09:42
Mitglied
 
Registriert seit: 05.2004
Beiträge: 55
bei mir liefert das einen error!!

Notice: Undefined offset: 0 in system.class.php on line 431

Fatal error: Call to undefined function: bild() in system.class.php on line 98

die funktion:

function footer($array = array())
{
$id = isset($_GET['catid']) ? $_GET['catid'] : 0;
if($GLOBALS['Template']->fileexists("footer_".$id)){
$array['bild'] = bild();
return $GLOBALS['Template']->load('footer_'.$id, $array);
}
else {
$array['bild'] = bild();
return $GLOBALS['Template']->load('footer', $array);
}
}


function bild() {

echo "test";

}

  #10  
Alt 10.08.2004, 13:33
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Statt bild(); musst du $this->bild();
schreiben.

Und diese Funktion sollte einen Rückgabewert (return xyz haben, damit es eine Variable gibt.

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #11  
Alt 18.08.2004, 03:58
Benutzerbild von saiki
Mitglied
 
Registriert seit: 06.2004
Beiträge: 12
ich habe ein script jetzt in die system.class.php eingebunden:
Code:
function alter()
            {
        ob_start();
        include 'alter.php';
        $alter = ob_get_contents();
        ob_end_clean();
        return $alter;
		}
es liefert als return $alter. und diesen wert würde ich gerne im category_head als {wert} wiedergeben lassen, aber ich kriegs nicht hin
jemand nen vorschlag?

  #12  
Alt 18.08.2004, 09:36
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Da wo das Template category_head aufgerufen wird gibt es ein Array, dass wird als Parameter übergeben.
Dort musst du die Funktion $this->alter() als Wert und 'alter', bzw. den Variablennamen, als Schlüssel angeben.

Ich glaub das hab ich nu schon 100mal erklärt...

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche einfaches Forum das man in vorhandene Homepage per Include einbinden kann hulk Forensoftware 7 01.06.2005 07:16
Neue Fach Community - wie vorgehen? newx Community Management, Administration und Moderation 6 26.08.2004 23:00
Einbinden von Grafiken Dritter chrissi Onlinerecht, Datenschutz und Sicherheit 4 18.04.2004 20:56






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24