Klez Posted January 3, 2005 Report Share Posted January 3, 2005 Varbūt kaads var pastaastiit mazliet par template kaa vinjas straadaa, kaa izmantot, kaa pielietot. buutu labi ja arii kaadu mazinju paraudzinju paraadiitu, taadu pavisam vienkaarshu... paldiess jau ieprieksh Link to comment Share on other sites More sharing options...
hmnc Posted January 3, 2005 Report Share Posted January 3, 2005 Varbūt kaads var pastaastiit mazliet par templatekaa vinjas straadaa, kaa izmantot, kaa pielietot. buutu labi ja arii kaadu mazinju paraudzinju paraadiitu, taadu pavisam vienkaarshu... paldiess jau ieprieksh 12445[/snapback] ko tur daudz? teplates ir laba lieta, kad jāatdala PHP no HTML. ir html template faili kuri satur tīru html kodu + komandas, saprotamas tikai template parserim. piemēram <html> <title>{title}</title> <body> {teksts} </body> </html> kad parsēsi ar kādu template enginu to failu un definēsi ka {title} ir piemēram "Mana mājas lapa" un {teksts} ir "Sveiki manā mājaslapā" tad izvadīsies ārā: <html> <title>Mana mājas lapa</title> <body> Sveiki manā mājaslapā </body> </html> tāds primitīvs piemērs, bet ceru ka saprati ;) Link to comment Share on other sites More sharing options...
Klez Posted January 3, 2005 Author Report Share Posted January 3, 2005 (edited) Vispaar jau laikam neiebraucu. kaa taa parseeshana notiek? Kaa jamo definee? define("{title}", "Mana lapa"); tip taa? caur PHP? vai kaa? buutu jauki ja to visu ar PHP paraadiiu. kaa un kas. Kaa nodefineet un kaa pie vinja griezties Edited January 3, 2005 by Klez Link to comment Share on other sites More sharing options...
hmnc Posted January 3, 2005 Report Share Posted January 3, 2005 nē! atver failu un ņem cauri pa line ar kodu: $fails = str_replace( '{'.$templeita_markjieris.'}', $veertiiba, $fails); to visvieglāk izdarīt caur klasēm. un te jau var pieminēt Smarty. http://smarty.php.net/ Link to comment Share on other sites More sharing options...
Klez Posted January 3, 2005 Author Report Share Posted January 3, 2005 lieta tapa skaidra :)) lielC paldiess Link to comment Share on other sites More sharing options...
Roze Posted January 4, 2005 Report Share Posted January 4, 2005 Negribu saakt ticiibu / flame karus (ir jau bijushi ne vien vienu reizi :) ), bet, manupraat, ar templateem ljoti aizrauties nevajag. Proti mineeto piemeeru <html> <title>{title}</title> <body> {teksts} </body> </html> Var aizstaat ar <html> <title><? echo $title; ?></title> <body> <? echo $teksts; ?> </body> </html> Kas principaa arii ir ir php koda nodaliishana no html .. Pie kam ja aizstaaj echo ar <? =$title ?> tad veeljovairaak (vizuaali). Tai pashaa laikaa otrais variants stradaas krietni aatraak jo nav jaaielasa papildus templates fails nav jaameklee kur tajaa ir kaut kaadi ieprieksh predefineeti tagi utt. Vieniigaa jeedziigaa vieta vareetu buut wysiwyg editoros, jo <? ?> ir tagi liidz ar to preteeji {} tas netiek paraadiits. Nekorekti darbojoties var ieviesties sintakses kljuuda kas template gadijumaa var tikt noveersta. Link to comment Share on other sites More sharing options...
Klez Posted January 4, 2005 Author Report Share Posted January 4, 2005 neesu straadajis ar template un zinu ka tas naf nekas praatiix. manupraat - lieka laika teereeshana. un kaa jau Roze rextiij - tad taa arii diezgan labi var straadaat. es parasti visu salieku pa funkcijaam, vai piem forumam vienu faulu uztaisu un tad tik kaa vajag, tad pamaina izkaartojumu un lieta dariita .... Link to comment Share on other sites More sharing options...
des Posted January 4, 2005 Report Share Posted January 4, 2005 Negribu saakt ticiibu / flame karus (ir jau bijushi ne vien vienu reizi :) ), bet, manupraat, ar templateem ljoti aizrauties nevajag. Proti mineeto piemeeru <html> <title>{title}</title> <body> {teksts} </body> </html> Var aizstaat ar <html> <title><? echo $title; ?></title> <body> <? echo $teksts; ?> </body> </html> Kas principaa arii ir ir php koda nodaliishana no html .. Pie kam ja aizstaaj echo ar <? =$title ?> tad veeljovairaak (vizuaali). Tai pashaa laikaa otrais variants stradaas krietni aatraak jo nav jaaielasa papildus templates fails nav jaameklee kur tajaa ir kaut kaadi ieprieksh predefineeti tagi utt. Vieniigaa jeedziigaa vieta vareetu buut wysiwyg editoros, jo <? ?> ir tagi liidz ar to preteeji {} tas netiek paraadiits. Nekorekti darbojoties var ieviesties sintakses kljuuda kas template gadijumaa var tikt noveersta. 12481[/snapback] :) TIk un taa palieku pie taa, ka templates ir veerts lietot, ja: 1) Aatrdarbiiba nav pats galvenais projekta sekmiibas kriteerijs (nu tieshaam, po tachu par to 50-200% aatrdarbiibas sabremzeejumu, ko izdara laba templeishu sisteema) 2) Projekts ir pietiekoshi kompliceets / dinamisks 3) Tam jaabuut viegli customizeejamam. (Lasaamiiba {TEKSTS} ieksh HTML juuklja tomeer ir izlasaams vieglaak nekaa <? echo $teksts; ?>) 4) Templates gribam nestot vienu otraa. Un kaut kas interesants: http://phpsavant.com/yawiki/ Link to comment Share on other sites More sharing options...
hmnc Posted January 4, 2005 Report Share Posted January 4, 2005 piekritīšu des. piemērs <html> <title><? =$title; ?></title> <body> </body> </html> ir tāds visai mānīgs, jo NAV html atdales no php. resp - lame users samet kaut kādas kreisās komandas un vsjo. nav vairāk templates :D + arī kad sākās nevis parastie echo, bet kaut kas komplicētāks (dati no klasēm, funkcijas) neliks taču: <title><? escape($cls->konv_src($title)) (funkcijas, mainīgie un klases ir izdomāti - NEPIESIETIES!!!! :) :) ) users, kuram iespējams būs tālāk jāmodificē īsti nesapratīs, ko no viņa grib, bet likt atsevišķi iekš to php definīcijas katram $title,$name,$text būtu vispār bezjēgā nahrenizatoriski nevajadzīgi. un kā rāda pieredze - template klase nemaz tik daudz nebremzē neko. nu varbūt 0.005 - 0.01 sekundes uz normālas kastes (tie ir mani personiskie novērojumi). so nedomāju, ka tas ir liels zudums attiecībā pret smuku template klasi, kur viss smuki sadalīts pa plauktiņiem un html ir tiešām atdalīts no php :) paldies. Link to comment Share on other sites More sharing options...
Venom Posted January 4, 2005 Report Share Posted January 4, 2005 /me atkal te ar output bufferingu, resp. lai tik ir tas <html><title>{title}</title> <body> {teksts} </body> </html> bet ā) ne iekš mainīgā bē) case-sensitive index.php jāizskatās šādi: <?php ob_start(); ?> <html> <title>{title}</title> <body> {teksts} <?php include('cits.template'); ?> </body> </html> <?php $htmls=ob_get_clean(); foreach($template_mainīgais as $indekss=>$vertiba) $htmls=str_replace('{'.$indekss.'}',$vertiba,$htmls); echo $htmls; flush(); ?> bet vispā man tās templātsistēmas ne visai NB: tēma tika plaši apspriesta, tāpēc vēlams apskatīt vismaz http://php.lv/f/index.php?showtopic=59 topiku (tur tālāk pa tēmu) Link to comment Share on other sites More sharing options...
Roze Posted January 6, 2005 Report Share Posted January 6, 2005 ir tāds visai mānīgs, jo NAV html atdales no php. resp - lame users samet kaut kādas kreisās komandas un vsjo. nav vairāk templates + arī kad sākās nevis parastie echo, bet kaut kas komplicētāks (dati no klasēm, funkcijas) neliks taču: Nu redz te ir divas galeejibas "lame users" arii templati var sabojaat neieliekot teiksim korekti {} vai kaut ko citu :) Kaa jau rakstiiju, piekriitu, ka templeishu gadijumaa veel var meegjinaat kaut ko salabot.. <title><? escape($cls->konv_src($title)) <- shis nu noteikti nav vajadziigs un noteicoshais jo izvades mainiigos tu tikpat labi vari apstraadaat pirms izvadiishanas un templatee taksh ar neliksi kautko taadu ne? un kā rāda pieredze - template klase nemaz tik daudz nebremzē neko. nu varbūt 0.005 - 0.01 sekundes uz normālas kastes Nu tad tev viss veel ir priekshaa.. Jo mana peedejaa laika pieredze ir taada ka shaadas aatrdarbiibas izmainjas ir gandriiz fataalas :) saitam ar 3 ljimonu tiiriem php pieprasiijumiem dienaa un manupraat uz normaalas 4CPU kastes :) Link to comment Share on other sites More sharing options...
Gacha Posted January 22, 2005 Report Share Posted January 22, 2005 Līdz šim nebiju domājis izmantot temlate sistēmu, bet nesen man bija šāds gadījums: Visā lapā ir html elements BOXIŅŠ un un pēkšņi izdomāju, ka man vajag boksiņam izmainīt kodu! Un ko nu? Uz KDE ar FileReplace es varēju nomainīŧ atsevišķas rindas, bet tur kur teksts bija 2 rindās, man gan neizdevās nomainīt. Bet tagad gan kaut kas būs jasāk domāt! Link to comment Share on other sites More sharing options...
Recommended Posts