Smarty

Soul_Stealler

Registered
Някой може ли да обясни как се работи със смарти.
Т.е. как да го интегрирам в сайта :roll:
 
ох смарти..
Незнам ама това нещо е прекалено усложнено според мен.
Защо си се хванал да го правиш с него ?
И какво по точно те интересува..има си цял мануал за него..
Вярно повечето неща са досущ като пхп ,но....винаги може да си намериш много по хубаво темплейт енджин.
http://smarty.php.net

Има си доооста обширна документация.Прегледай ги.
 
Ами, ако накъде има някакъв темплей енджин който е по-добър от този, съм съгласен да ползвам и него.
Просто в момента различните части на темплеите се include-ват и са .php и не мисля че е много ... удачно ... така да го правя :roll:
 
Ами прегледай гууглето.Със сигурност ще намериш нещо просто и работещо.Това смарти просто...няма смисъл..
 
Смарти е много трудно и гадно за учене. Докато го разбереш, че си разбрал как да го правиш всичко сам. Въпроса е да имаш template.php който е универсален и колкото се може по пълен. Аз ползвам този от phpbb.

http://webjo.no-ip.org/test1/forum/forum/inc/template.rar

а ето ти и пример как става.

index.php

Код:
<?php
  include('inc/template.php');

  $connect = mysql_connect('localhost', 'root', '');
  mysql_select_db('testova', $connect);
  

  
  // задаваме папаката на темплеита
  $template = new Template('template');

  // задаваме името на темплеита
  $template->set_filenames(array(
      "body" => "template.tpl"
  ));


	
  //
  // Извикваме заявката за kategorii
  //
      $categorii = mysql_query('SELECT * FROM cat');
	  while( $cat_row = mysql_fetch_array($categorii) )
  {
  
          $template->assign_block_vars('kategorii',array(
              'KATEGORIA' => $cat_row['cats']

          ));
	}
      
  $result = mysql_query('SELECT * FROM news');
   while( $row = mysql_fetch_array($result) )
  {
      $template->assign_block_vars('test',array(
          'KATEGORII' => $row['cats'],
          'TITLE'  => '<a href=view.php?id_news='.$row['id_news'].'>'.$row['title'].''

      ));
  }
  
    
  $template->assign_vars(array(
      "TEMI" => mysql_num_rows($result)
  ));

  // затваряме заявката
  $template->pparse('body');
?>

template.tpl

Код:
<html>
 <head>
 <title>Темплейт система</title>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
 </head>
 <body>
 
има {TEMI} добавени записа <br>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="800" id="AutoNumber1">
  <tr>
    <td width="391" colspan="2"> </td>
    <td width="123"> </td>
    <td width="120"> </td>
    <td width="161"> </td>
  </tr>
  
  <tr>
    <td width="798" colspan="5"> {kategorii.KATEGORIA}</td>
  </tr>
  
  
  <tr>
    <td width="33"> </td>
    <td width="357"> {test.TITLE}</td>
    <td width="123"> </td>
    <td width="120"> </td>
    <td width="161"> </td>
  </tr>
  
</table>

</body>
</html>

Забележи къде е там започва заявката за kategorii и завършва
Като се повтарят само определените с начало и край части. в заявката.

Скоро ако имам повече време ще напиша един урок.

а ето горния код как изглежда впрочем, забравих да дам линк.

http://webjo.no-ip.org/test1/forum/forum/ е вярно не е 1-ва хубост но като за пример става
 
наскоро четох една статия където се казваха множеството недостатаци на смарти ( не че разбирам особено много ) и колко по лесно било използването на примерно на променливи директно в шаблона <?=$title?>
и такива пободни както и другия вариант които даде Жоро с {title}
 
Мен напримерно ми е много по-лесно да направя един пхп файл и в него да има както каза mute <?php echo $title; ?> и т.н.
Също по-лесно ще е и защото мога да сложа неща от сорта на if ($title != null){ echo $title; } else { echo "asfd"; } и т.н.
Но се боя че някой който направи скин може да сложи например някой "лош" код. Например изтриване на база данни, правене на допълнителни файлове, качване на файлове и т.н. :roll:
 
еми тогава това което каза Жоро с таговете в { }
$title={title} и подобни и това в хтмл долумент така ще имаш стандартни темплеит променливи които ако несъвпадат просто няма да се появяват нищо в темплейта
 

Back
Горе