Kom ihåg mig?
Home Menu

Menu


Göra en ändring i .tpl

Ämnesverktyg Visningsalternativ
Oläst 2008-01-29, 10:54 #1
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Hej,

Jag har (olyckligtvis) blivit tvungen att editera i .tpl-sidor och smarty-kod. Är väldigt osugen på att lära mig nån ny syntax bara för en (1) fix i en tpl-fil.

Allt jag vill göra är att hämta information från en egenskapad tabell i phplinkdirectory. Vi kan kalla den EGEN_TABELL, ifrån EGEN_TABELL vill jag skriva ut $namn och $adress från dessa två kolumner. Hur ska jag göra? Har börjat kika på Smarty-faq:en men det känns som att lära sig ett nytt programmeringsspråk.

I "vanlig" php hade jag gjort motsvarande:


Kod:
 $sql_hamta_data = mysql_query("SELECT * FROM EGEN_TABELL;");
 while($row = mysql_fetch_array($sql_sql_hamta_data)){
 	foreach( $row AS $key => $val ){
  $$key = stripslashes( $val );
	
 	}
            echo $namn.$adress
 }
Nån vänlig själ som kan hjälpa mig? Det skulle räcka med att veta hur man bryter ut från en .tpl-sida.
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-29, 14:03 #2
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Offtopic:

Din kod går att göra lite smidigare:
Kod:
$sql_hamta_data = mysql_query("SELECT * FROM EGEN_TABELL;");
while($row = mysql_fetch_assoc($sql_hamta_data))
{
 echo $row['namn'] . ' ' . $row['adress'] . '<br />'."\n";
}
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-29, 15:28 #3
Torreman Torreman är inte uppkopplad
Medlem
 
Reg.datum: Nov 2007
Inlägg: 136
Torreman Torreman är inte uppkopplad
Medlem
 
Reg.datum: Nov 2007
Inlägg: 136
Frågan skall ställas i den php-fil som anropas. I phpLD är det två filer som sköter det mesta, index.php och detail.php. Om du tex. vill visa informationen på en detaljsida så lägg till din sql-fråga och lägg resultatet i en array, tex

$data['adress'] = $rdata['adress'];

I tpl-filen så skriver du sen ut innehållet i arrayen. I main.tpl/detail.tpl lägger du bara till {$adress|escape|trim} på lämpligt ställe. Smarty's filformat .tpl fungerar som .html-filer fast med lite funktioner som körs innan den skickas till besökaren.
Torreman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-29, 16:24 #4
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Urk för smarty. Deras "enkla" syntax är jobbig att ha att göra med. PHP är redan ett kompakt och enkelt språk som faktiskt är till för just det här. {php} är den bästa funktionen Intressant att dom gjort en templatemotor på 9600 rader kod som får spö på nästan alla punkter av t.ex. mitt 18-radiga templatesystem.

Bara så du vet verkar du ha missupfattat poängen med separera logik och markup så jag har inget bra svar på din fråga. Du får läsa i manualen hur du stoppar in data *till* templaten (assign) och hur du loopar igenom datan i templaten (foreach).
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-29, 18:26 #5
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Originally posted by kullervo@Jan 29 2008, 17:24
Urk för smarty. Deras enkla syntax är jobbig att ha att göra med. PHP är redan ett kompakt och enkelt språk som faktiskt är till för just det här. {php} är den bästa funktionen Intressant att dom gjort en templatemotor på 9600 rader kod som får spö på nästan alla punkter av t.ex. mitt 18-radiga templatesystem.
Bara så du vet verkar du ha missupfattat poängen med separera logik och markup så jag har inget bra svar på din fråga. Du får läsa i manualen hur du stoppar in data *till* templaten (assign) och hur du loopar igenom datan i templaten (foreach).
Håller med dig helt och hållet men samtidigt så är det stor skillnad mellan att göra en komplett templatemotor som täcker så många behov som möjligt och att göra ett litet templatesystem för eget bruk.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-30, 07:16 #6
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Hej,

Tack för alla svar {php} visade sig vara det absolut enklaste sättet.

Håller med urk:en. Känns otroligt onödigt och krånligt med ett språk i språket, men jag ser troligtvis inte Den Stora Bilden.
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-30, 08:38 #7
Torreman Torreman är inte uppkopplad
Medlem
 
Reg.datum: Nov 2007
Inlägg: 136
Torreman Torreman är inte uppkopplad
Medlem
 
Reg.datum: Nov 2007
Inlägg: 136
Den stora bilden är väl kortfattat: blanda aldrig funktion och design.

Tycker inte heller om smarty. Den bakomliggande koden känns ofta onödigt komplicerad. Men det är som sagt tidigare i denna tråd i en generell templatemotor som skall kunna användas i alla möjliga situationer.
Torreman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-30, 15:17 #8
herq herq är inte uppkopplad
Nykomling
 
Reg.datum: May 2006
Inlägg: 13
herq herq är inte uppkopplad
Nykomling
 
Reg.datum: May 2006
Inlägg: 13
Du har ju en controller till din template, där ska du kontakta modellen och få datan som du sedan skickar till templaten via (beroende på hur ditt system ser ut, det borde du kunna lista ut genom att kika i övriga controllers) $smarty->tpl->assign('foo', $data); Den kommer du åt i templaten via {$foo} som det redan sagts i tråden. Att lägga en sql-sats i en template, eller till och med i en controller borde straffas med avklippt bredbandsuppkoppling
herq är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 17:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017