{FR} - 3.5.3.1.2 render

render(string $action, string $layout, string $fichier)
  1. render(string $action, string $layout, string $fichier)

La méthode render() est automatiquement appelée à la fin de chaque action exécutée par le contrôleur. Cette méthode exécute toute la logique liée à la présentation (en utilisant les variables transmises via la méthode "set()"), replace le contenu de la vue à l'intérieur de sa mise en page et transmet le tout à l'utilisateur final.

Le fichier de vue utilisé par défaut est déterminé par convention. Ainsi, si l'action rechercher() de notre contrôleur Recettes est demandée, le fichier de vue situé dans /app/view/recettes/rechercher.php sera utilisé.

Bien que CakePHP appellera la fonction render() automatiquement à la fin de chaque action (à moins que vous n'ayez défini $this->autoRender à false), vous pouvez l'utiliser pour spécifier un fichier de vue alternatif en précisant le nom d'une action dans le contrôleur, via le paramètre $action. Vous pouvez également spécifier un fichier alternatif en utilisant le troisième paramètre $file. Quant vous utilisez $file, n'oubliez pas d'utiliser les constantes de CakePHP (comme VIEWS) pour spécifier le chemin et ainsi rendre votre code plus générique.

Le second paramètre $layout vous permet de spécifier la fichier de mise en page qui sera utilisée pour afficher la vue.

{EN} - 3.5.3.1.2 render

render(string $action, string $layout, string $file)

The render() method is automatically called at the end of each requested controller action. This method performs all the view logic (using the data you’ve given in using the set() method), places the view inside its layout and serves it back to the end user.

The default view file used by render is determined by convention. If the search() action of the RecipesController is requested, the view file in /app/views/recipes/search.ctp will be rendered.

class RecipesController extends AppController {
...
    function search() {
        // Render the view in /views/recipes/search.ctp
        $this->render();
    }
...
}
  1. class RecipesController extends AppController {
  2. ...
  3. function search() {
  4. // Render the view in /views/recipes/search.ctp
  5. $this->render();
  6. }
  7. ...
  8. }

Although CakePHP will automatically call it (unless you’ve set $this->autoRender to false) after every action’s logic, you can use it to specify an alternate view file by specifying an action name in the controller using $action.

If $action starts with '/' it is assumed to be a view or element file relative to the /app/views folder. This allows direct rendering of elements, very useful in ajax calls.

// Render the element in /views/elements/ajaxreturn.ctp
$this->render('/elements/ajaxreturn');
  1. // Render the element in /views/elements/ajaxreturn.ctp
  2. $this->render('/elements/ajaxreturn');

You can also specify an alternate view or element file using the third parameter, $file. When using $file, don't forget to utilize a few of CakePHP’s global constants (such as VIEWS).

The $layout parameter allows you to specify the layout the view is rendered in.

Differences

Lines: 1-21Lines: 1-13
 <title>render</title> <title>render</title>
-<p class="method"><code>render(string $action, string $layout, string $file)</code></p>
&lt;p>The <code>render()</code> method is automatically called at the end of each requested controller action. This method performs all the view logic (using the data you’ve given in using the &lt;code&gt;set()&lt;/code&gt; method), places the view inside its layout and serves it back to the end user.</p>
<p>The default view file used by render is determined by convention. If the &lt;code>search()</code> action of the RecipesController is requested, the view file in <kbd>/app/views/recipes/search.ctp&lt;/kbd> will be rendered.</p>
<pre>
class RecipesController extends AppController {
...
function search() {
// R
ender the view in /views/recipes/search.ctp /> $this-&gt;render(); /> }
...
}</pre>
<p>Alt
hough CakePHP will automatically call it (unless you’ve set <code>$this-&gt;autoRender</code> to false) after every action’s logic, you can use it to specify an alternate view file by specifying an action name in the controller using &lt;code>$action</code&gt;.&lt;/p>r /><p>If <code>$action&lt;/code> starts with '/' it is assumed to be a view or element file relative to the &lt;code>/app/views</code> folder. This allows direct rendering of elements, very useful in ajax calls.r /><pre>r />// Render the element in /views/elements/ajaxreturn.ctp />$this-&gt;render('/elements/ajaxreturn');
</pre>
<p>You can also specify an alternate view or element file using the third parameter, <code>$file</code>. When using <code>$file</code>, don't forget to utilize a few of CakePHP’s global constants (such as &lt;code>VIEWS&lt;/code>).</p> /><p>The <code>$layout</code> parameter allows you to specify the layout the view is rendered in.</p>
+<pre>render(string $action, string $layout, string $fichier)</pre>
<p>
La méthode render() est automatiquement appelée à la fin de chaque action exécutée par le contrôleur. Cette méthode exécute toute la logique liée à la présentation (en utilisant les variables transmises via la méthode &quot;set()&quot;), replace le contenu de la vue à l'intérieur de sa mise en page et transmet le tout à l'utilisateur final.
</p>
<p>
Le fic
hier de vue utilisé par défaut est déterminé par convention. Ainsi, si l'action rechercher() de notre contrôleur Recettes est demandée, le fichier de vue situé dans /app/view/recettes/rechercher.php sera utilisé.<br /></p>
<p>
Bien que CakePHP appellera la fonction render() automatiquement à la fin de chaque action moins que vous n'ayez défini $this-&gt;autoRender à false), vous pouvez l'utiliser pour spécifier un fichier de vue alternatif en pcisant le nom d'une action dans le contrôleur, via le paramètre $action. Vous pouvez également spécifier un fichier alternatif en utilisant le troisième paramètre $file. Quant vous utilisez $file, n'oubliez pas d'utiliser les constantes de CakePHP (comme VIEWS) pour spécifier le chemin et ainsi rendre votre code plus générique.
</p>
<p>Le second paratre $layout vous permet de spécifier la fichier de mise en page qui sera utilisée pour afficher la vue.</p>