Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc oko dizajna za SMarty-jem

[es] :: PHP :: Smarty template engine :: pomoc oko dizajna za SMarty-jem
(TOP topic, by Aleksandar Marković)
Strane: 1 2

[ Pregleda: 21293 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mist
Milos Stanic
Kragujevac

Član broj: 4871
Poruke: 210
*.netpro.co.yu



+190 Profil

icon Re: pomoc oko dizajna za SMarty-jem16.08.2004. u 08:07 - pre 239 meseci
Gorane,

Hvala ti mnogo na detaljnom objašnjenju. Moram da priznam da mi nije jasan uslov terminacije u onoj for petlji:
$records[] = $aFetch

Ali verujem da fercera.

Znam da nisam mogao da pristupim asocijativno nizu koji sam kreirao, samo sam napisao tako da ispada da nisam znao... semantika...

Koliko sam ja čitao PHP Doc, tamo kaže da je mysql_fetch_array radi isto što i mysql_fetch_both. Ali možda nisam u pravu.

Ne moraš da se maltretiraš da odgovaraš na ovaj post. Sve je jasno.
Hvala još jednom!
http://www.kgonline.info - Prvi kragujevački portal i forum
 
Odgovor na temu

bluesman

Član broj: 4505
Poruke: 1895
*.54.EUnet.yu



+1 Profil

icon Re: pomoc oko dizajna za SMarty-jem16.08.2004. u 13:30 - pre 239 meseci
Nije to uslov terminacije. To je kod koji se izvrsava na kraju petlje, uslov terminacije je $aFetch = @mysql_fetch_array($queryResource) a to znaci da kada mysq_fetch_array() vrati false - petlja se prekida.

mysql_fetch_array radi isto sto i mysql_fetch_both po defaultu, samo sto mozes da kod ...array() prenesec parametar MYSQ_FETCH_ASSOC, a onda radi isto sto i mysql_fetch_assoc()

kao i u vecini programskih/script jezika vecina stvari moze da se uradi na vise nacina.
Goran Pilipović fka bluesman
 
Odgovor na temu

valajbeg
Student/TS
Sarajevo

Član broj: 5069
Poruke: 615
*.PPPoE-3324.sa.bih.net.ba.

ICQ: 127234502
Sajt: www.microsoft.ba


+10 Profil

icon Re: pomoc oko dizajna za SMarty-jem31.03.2007. u 14:32 - pre 207 meseci
Fakat, imali neko source od nekog sajta koji je pravljen uz pomoc smarty tempjejta?

pls? ne mogu nikako da vidim u cjelini kako to izgleda
www.microsoft.ba
Microsoft gives you Windows... Linux gives you the whole house.
 
Odgovor na temu

dr ZiDoo
Banja Luka

Član broj: 189
Poruke: 1728
87.250.104.*

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: pomoc oko dizajna za SMarty-jem01.04.2007. u 23:56 - pre 207 meseci
Konkretno:

PHP fajl
Code:

// pretpostavka da je smarty direktorji otpakovan na zamisljenoj putanji
require("smarty/Smarty.class.php");

// incijaliziacije
$smarty = new Smarty;

// par neophodnih podesvanja

// putanja gdje su smjesteni sami predlosci
$smarty->template_dir = "tpls";

// direktorij po kojem apache moze da pise (znaci chmod 777)
// zato sto tu smjesta trenutne zapise vezane oko obrade PHP coda
$smarty->compile_dir = "smarty/compile";

// direktoriji za neka smarty podesavanja (iskreno, slabo korisim) 
$smarty->config_dir  = "smarty/configs";

// ako koristis smary kesiranje, to je direktorji za cuvanje kesirnih fajlova
$smarty->cache_dir = "smarty/cache";

// inace ovo se provalaci kros sve stranice sajta pa se smjesta u jedan fajl i inkluda. tak da to 
// napises jednom i uglavnom zaboravis da postoji


// informacije stavimo u varijable
$ime = "Bob";
$prezime = "Marley";

// sada cemo da iz PHPa neke informacije da proslijedimo u Smarty klasu
$smarty->assign('ime', $ime);
$smarty->assign('prezime', $prezime);



// da sve ne bude dosadno dodacemo jedan niz
$kontakt_informaciije = array(
"adresa" => 'Kokosovih Oraha 12',
"drzava" => 'Jamajka',
"telefon" => '387 65 666 999'
);

// sada citav niz proslijedimo u smarty klasu
$smarty->assign('kontakt_informacije', $kontakt_informacije);


// i sada da sve na osnovnik stvarima porosledicemo i jedean multidimenzioni niz.
// recimo da se radi o adresaru gore spomenutog covjeka

$adresar = 
array(
         0 => array ( "ime" => 'Joe', "prezime" => 'Cocker', "mob" => '123 123 123', "tel" => '456 456 456', "fax" => '789 789 798' ),
         1 => array ( "ime" => 'Alfonso', "prezime" => 'Guerrero', "tel" => '456 456 456'),
         2 => array ( "ime" => 'Ruben', "prezime" => 'Gonzales', "mob" => '123 123 123', "tel" => '456 456 456', "fax" => '789 789 798' ),
         3 => array ( "ime" => 'Nico', "prezime" => 'Saqiuto', "mob" => '123 123 123', "tel" => '456 456 456',  ),
         4 => array ( "ime" => 'Papi', "prezime" => 'Oviedo', "mob" => '123 123 123', "tel" => '456 456 456', ),
);

// i njega suteno u templait
$smarty->assign('adresar', $adresar);

// posto su sve informacije koje nase informacije treba da saopsti krajnjem korisniku
// poslate u samu smarty klasu, sada cemo reci smartyu koji template da koristi

$smarty->display('profil.html');


I sada treba da kreiramo profil.html. Kao sto se vidi iz linije 12 ( >> $smarty->template_dir = "tpls"; << ) to treba da se nalazi u folderu tpls. evo i fajla

Code:

<html>
<head>
<title>muuuu</title>
</head>

<body>


<!--
U templatu vrismo ispis svega. Naravno moramo naznaciti u fajlu gdje se koja varijable "stampa".
Po defaultu to radimo ovako: {$ime_varijable}

Da razvalimo na djelove:
{ - ljevi delimiter
$ - oznaka za string
ime_varijable - ime varijable, ne mora nuzno biti isto kao u PHPu znaci: $smarty->assign('[b]prezime[/b]', $prezime);
} - desni delimiter

Ovo sa delimiterima treba malo razjasniti pogovo pocetnicima.
Defaulti delimiter u PHPu je velika zagrada. To je logican potez posto se u HTML jeziku ta zagrada nigdje ne koristi (koriste se samo: <, =, ', ", >).
Medjutim problem nastaje kada u code direktno stavljate CSS ili HTML. Naravno i za to postoji rjesenje tj tri.
Prvo - linkajte CSS i JS code
Drugo - koristite smarty funkciju [url href=http://smarty.php.net/manual/en/language.function.literal.php]literal[/url]
Trece - kada "podesavate smarty" promjenite delimitre. To se radi u PHP fajlu i ovako:
$smarty->left_delimiter = '~';
$smarty->right_delimiter = '~';

onda bi smarty poziv izglo ovako ~$ime~
(trece je samo teorija, rjetko se koristi, mutavo je)
-->
<h2>{$ime} {$prezime}</h2>


<!--
rad sa nizovima je extremno slican kao i sa obicnim varijablama. pogledajmo poziv
{$kontakt_informacije.adresa}

kontakt_informacije - ime koje je dodjeljeno prilim slanja informacije u smarty klasu
. - separator izmedju 
adresa - asocijativni pointer na vrijednost u nizu

Takodje se moze koristi i numericki pointer na vrijednost. 
Prva vrijednost je 0 tako da se sledeci code moze napisati i :
 {$kontakt_informacije.0} <br>
 {$kontakt_informacije.1} <br>
 {$kontakt_informacije.2} <br>
apsolutno neelegantno
-->
<h3>
 {$kontakt_informacije.adresa} <br>
 {$kontakt_informacije.drzava} <br>
 {$kontakt_informacije.telefon} <br>
</h3>


<br> <br>


<center>
<!--
Ispis multidimenzijonog niza je identican kao i jednodimenzionog (tj 2 dimenzionog). Znaci
{$ime_varijable.niz.pod_niz}

Sve to moze naravno u nedogled, npr:
{$adresar.poslovni.nabavka.sef_nabavke.telefon}

PHP ekvivalent
$mu = array ( "poslovni" => array ( "nabavka" => array( "sef_nabavke" => array( "telefon" => '123 123 123' ))));

Medjutim poenta ovog treceg pososa naseg dragog tutorijala nije ispis nepotrenog glubog ogromnog niza nego prezentacija 
realne moci samrtija da manipuslie sa velikim nizovima koji cuvaju neke realne upotrebljive informacije, kao i prezentacije nekih
smarty funkcija koje nalazimo u klasicnim programskim jezicima. Redom:

foreach >> {foreach from=$niz item=pod_niz} loop blok {/foreach}

Ekvivalent je php foreach funkcija, ili za one koji ne zaju: funkcija vrti niz i rasclanjuje ga na vrijednosti ili u ovom slucaju opet nizove (posto su oni sledeca vrijdnost).
Moguce je koristit neograniceno mnogo ukljetenih foreach petlji.

if >> {if $varijabla > 9} blok {/if} - klasicna if petlja, ak ne znate sta radi koji moj sve ovo citate

U ovom slucaju varijablu imenkih razbijamo na osobe iz imenika i onda ispisujemo njihove kontakt podatke. 
IF petlja provjerava da li taj podatak postoji u nizu, ako ne postoji nece ispisati njegov label, posto je to krajnje
mutavo
-->
<h2>Adresar</h2>
{foreach from=$adresar item=osoba_u_adresaru}
    {if $osoba_u_adresaru.ime} Ime:{$osoba_u_adresaru.ime} <br> {/if}
    {if $osoba_u_adresaru.prezime} Prezime:{$osoba_u_adresaru.ime} <br> {/if}
    {if $osoba_u_adresaru.mob} Mobitel:{$osoba_u_adresaru.ime} <br> {/if}
    {if $osoba_u_adresaru.tel} Telefon:{$osoba_u_adresaru.ime} <br> {/if}
    {if $osoba_u_adresaru.fax} Fax:{$osoba_u_adresaru.ime} <br> {/if}
{/foreach}
<!--
Car ove naizgled nepotrebne petlje je sledeca. Imate neku tablicu u SQLu. Uzmimo bas da je to ovaj adresar. 
U njemu se nalaze isti ovi podaci znaci ovak nekako izgleda:

FIELD: ime           TYPE: varchar
FIELD: prezime     TYPE: varchar
FIELD: mob          TYPE varchar
FIELD: tel          TYPE varchar
FIELD: fax          TYPE varchar

i recimo da je popunjna podacima iz niza $adresar. Kada uradite u svojoj PHP aplikaciji sledece

while($_tmp = mysql_fetch_array(mysql_query("SELECT * FROM tabela))
{
    $adresar[$row_num++] = $_tmp;
}

Ako se primasili pojentu to znaci da u 4 linije mozete prebaciti podatke iz SQLa u smarty i dati dizajneru da se pati
sa dizajnom.
-->
</center>
</body>
</html>


Evo dragi ljudi, ne mogu spavati pun mjesec pa vam napisa malo duzi post. Valja ce nekom pomoci, iako ja imam uzasnu moc prenosenja znanja.

E da ovo sada izgleda mutavo jel forum ne boji sintaxu ali kopirajte u nekih editor koji podrzava PHP i HTML sintaxu (npr. gedit, zend) pa citajte fino komentare :)
tu nema kašike....
 
Odgovor na temu

valajbeg
Student/TS
Sarajevo

Član broj: 5069
Poruke: 615
*.PPPoE-494.sa.bih.net.ba.

ICQ: 127234502
Sajt: www.microsoft.ba


+10 Profil

icon Re: pomoc oko dizajna za SMarty-jem02.04.2007. u 00:02 - pre 207 meseci
dr ZiDoo
e svaka ti cast
www.microsoft.ba
Microsoft gives you Windows... Linux gives you the whole house.
 
Odgovor na temu

[es] :: PHP :: Smarty template engine :: pomoc oko dizajna za SMarty-jem
(TOP topic, by Aleksandar Marković)
Strane: 1 2

[ Pregleda: 21293 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.