6
votes

Partiels en lithium

Normalement, j'utilise le cadre Zend et c'est quelque chose que je manque en lithium. Partiels. Il y a une méthode de rendu dans la vue où vous pouvez utiliser des «éléments» qui sont les plus proches que j'ai obtenus.

namespace app\extensions\helper;
use lithium\template\TemplateException;

class Partial extends \lithium\template\Helper
{
public function render($name, $folder = 'elements', $data = array())
{
    $path = LITHIUM_APP_PATH . '/views/' . $folder;     
    $options['paths']['element'] = '{:library}/views/' . $folder . '/{:template}.{:type}.php';

    return $this->_context->view()->render(
        array('element' => $name),
        $data,
        $options
    );
}
}


0 commentaires

3 Réponses :


2
votes

corrigé. Fonctionne comme un charme. Zend comme des partiels en lithium.

<?php echo $this->partial->render('filename', 'foldername', compact('foo', 'bar')); ?>


0 commentaires

1
votes

Il y a un plugin pour les partiels. https://github.com/dmonduk/li3_partiales


0 commentaires

11
votes

Pourquoi utiliser des plugins lorsque ce produit peut être fait d'être fait par lithium: -)

Je ne connais pas Zend, mais voici un exemple pour configurer les chemins par défaut des éléments, pour les charger à partir du dossier View. d'un chemin partagé.

et ajoutons une chose de plus: nous voulons différencier des éléments / partiels à partir d'une vue normale, en ajoutant un soulignement des Nations Unies sur le nom du fichier (Mimic Rails partiels)

premier, reconfigure multimédia lors du processus de bootstrap (config / bootstrap / media.php) xxx

alors, utilisez-le < / strong>

Supposons un contrôleur documents . Appelez sur une vue: xxx

Ceci recherchera un fichier à l'intérieur vues / documents / _foo.html.php et si cela n'existe pas, Fallback to /views/elements/foo.html.php

Ce type de ré-configuration simple des défauts de cadre, peut être effectué en lithium pour un tas de trucs (contrôleurs par défaut Chemins pour créer des espaces de noms, des chemins de vue, des bibliothèques, etc.)

Un exemple de plus pour reproduire vos chemins de modèle afin que vous puissiez avoir des trucs comme pages / users_ {nom_utilisateur} .php < / code> au lieu du lithium défaut: https://gist.github.com/1854561


2 commentaires

Comme d'habitude, la solution est plus simple / plus facile et moins intrusive que de vous dire. :)


La classe de lithium média est l'une des caractéristiques principales. C'est vraiment ce puissant