Functions definieren

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
seraphyn
Regular
Posts: 211
Joined: Fri Dec 01, 2006 8:42 am
Contact:

Functions definieren

Post by seraphyn »

Wie kann ich für mein Template bestimmte functions definieren.
Da ich mich noch nicht mit dem Plugin-Hacking auseinander gesetzt habe, wollte ich erst einen Test für die Funktion machen und wenn Sie flutscht mich an ein Plugin wagen.
Es geht im ganzen um eine automatisierte ShortUrl für Goo.gl welche dann ausgegeben werden kann und auch vielleicht an das identi.ca-Plugin geparsed wird. Letzteres ein Wunsch den ich versuche zu erfüllen
Leider habe ich in der Dokumentation nichts zu dem Thema gefunden.

Grüsse
Chris
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Functions definieren

Post by Timbalu »

Manchmal verstehe ich Fragen nicht, aber ich versuchs trotzdem... ;-)

Du willst deine Funktion in irgendein Plugin einbauen und testen und fragst wie das geht?

Code: Select all

function myfirst($text) {
    return $text . ' and something new';
}
echo $this->myfirst('old text');
Da das ganze in einer Klasse gekapselt ist, muß man per $this-> darauf zugreifen.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Functions definieren

Post by Timbalu »

Du kannst allerdings - in diesem Falle wahrscheinlich besser - auch die config.inc.php deines templates benutzen. Wichtig sind die mitgegebenen $params, &$smarty.

Beispiel für eine non API function():

Code: Select all

function foo($params, &$smarty) { 
    $b = 'something'; 
    return $b; 
}
$serendipity['smarty']->register_function('isfoo', 'foo');

use {isfoo} no $ in your smarty template
Last edited by Timbalu on Wed Feb 16, 2011 5:03 pm, edited 1 time in total.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
seraphyn
Regular
Posts: 211
Joined: Fri Dec 01, 2006 8:42 am
Contact:

Re: Functions definieren

Post by seraphyn »

Nein ich will eine function schreiben für mein Template und frage wo ich die reinsetzen soll.
Mehr nicht.
Gibt es eine extra Datei, oder muss ich eine schreiben und per include einbeziehen.
Wenn die funktion jenes macht, was ich möchte, mache ich mich gerne daran, ein Plugin zu schreiben.
Bis Dato ist ein Plugin aussen vor.
;)
Gruss
seraphyn
Regular
Posts: 211
Joined: Fri Dec 01, 2006 8:42 am
Contact:

Re: Functions definieren

Post by seraphyn »

Timbalu wrote:Du kannst allerdings - in diesem Falle wahrscheinlich besser - auch die confic.inc.php deines templates benutzen. Wichtig sind die mitgegebenen $params, &$smarty.

Beispiel für eine non API function():

Code: Select all

function foo($params, &$smarty) { 
    $b = 'something'; 
    return $b; 
}
$serendipity['smarty']->register_function('isfoo', 'foo');

use {isfoo} no $ in your smarty template
Ahh K
Danke dir, dann schaue ich mir das ganze mal an und versuche mein Glück.
Grüsse
Chris
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Functions definieren

Post by yellowled »

seraphyn wrote:Nein ich will eine function schreiben für mein Template und frage wo ich die reinsetzen soll. Mehr nicht.
Soweit ich weiss (IANAC*): In die config.inc.php im Template-Verzeichnis. Existiert die nicht, legt man (z.B. am Beispiel von Bulletproof) eine an.

YL

(* I Am Not A Coder)
seraphyn
Regular
Posts: 211
Joined: Fri Dec 01, 2006 8:42 am
Contact:

Re: Functions definieren

Post by seraphyn »

yellowled wrote:(* I Am Not A Coder)
Ich auch nicht, aber wie sagt man so schön, man hackt sich so lange durchs Leben bis es passt.
Als Admin ist man ja ein wenig bewandert, den Rest mache ich mit TnS* :)
Wobei mir das ganze mit Smarty nicht so klar ist, das warum und wieso...
Aber das bedeutet zwar mehr Arbeit, aber wenigstens lerne ich mal was und muss nicht immer im Code rumhacken.
Vielleicht hat dann Jemand auch mal was durch meine kruden Codefriemeleien, wenn es mal installierbar ist ;)

Grüsse
*TNS= Try and Shoot
Post Reply