Tutoriel : Le framework puzzleApp

Plus qu'un tutoriel vous retrouvez ici le détail du coeur du framework

Les vues

PuzzleApp intègre un système de Template vous permettant de séparer votre code métier du code html pur. Votre code est donc mieux organisé et permet au développeur front de se concentrer sur l'intégration du design et au développeur back de s'occuper de toute la partie métier proprement dit. Il est possible de passer plusieurs d’élément comme des variables, des contrôles des entités ainsi que des tableaux d’éléments.

1. Passage d'une variable 

Dans le controller

 $view->AddElement(new ElementView("name", "jerome oliva"));

Dans la vue

Bonjour {{name}}

 

2.Passage d'un control 

Dans le controller

$tbName = new TextBox("tbName");
$view->AddElement($tbName);

Dans la vue

<label>Votre Nom</label>
{{tbName}}

 

3.Passage d'une entité

Dans le controller

$user = new User($this->Core);
$user->GetById(1);

$view->AddElement($user);

Dans la vue

Bonjour {{$element->Name->Value}} {{$element->FirstName->Value}} ,

bienvenue dans le groupe {{$element->Groupe->Value->Name->Value}}

 

4.Passage d'une liste d'entité 

Dans le controller 

$article = new BlogArticle($this->Core);
$article = $article->GetByCode($code);

//Passage d'une entité        
$view->AddElement(new ElementView("Article", $article));

//Passage d'un tableau d'entité
$view->AddElement(new ElementView("Articles", ArticleHelper::GetSimilare($this->Core,$article)));

Dans la vue

<h1>{{Article->Name->Value}}</h1>

  {{Article->Content->Value}}



<!-- Boucle sur les articles similaires -->
{{foreach Articles}}
   <div class='col-md-4'>
      <div class='col-md-12' >
           {{element->GetImage()}}
      </div>
      <div class='col-md-12'>
           <h4>{{element->Name->Value}}</h4>
           {{element->GetSmallDescription()}}
      </div>
      <div  class='col-md-12'>
           <a href='http://puzzleapp.org/Blog/Article/)}}{{element->GetUrlCode(' >Lire l´article 
         </a>
      </div>
   </div>
{{/foreach Articles}}

 

4.Condition IF

$view->AddElement(new ElementView("show", true));
{{if show == true}}
    Message Conditionnel
 {{/if show == true}}

 

5. Les fonctions spéciales

 

Blog sauvegardé

Obtient un texte traduit

http://puzzleapp.org/Blog/Category/

Obtient l'url relative

{GetDate()}

Obtient la date actuel

{GetControl(Button,btnSend,{onClick=TestAction.Send()})

Affiche une controle avec ces propriétés

{GetWidget(Feedback)}

Affiche un bouton Feedback permettant d'envoyer un feedback

 

/! Pensez bien au double { { et  }}