Pregunta

Soy un desarrollador PHP tratando de empezar a utilizar HAML, el uso de esta aplicación: http://phphaml.sourceforge.net/

HAML se ve impresionante, pero no entiendo si / cómo apoya parciales (o incluye, como se les llama en el mundo de PHP).

Me gustaría tener un archivo HAML plantilla maestra que luego va y cargas de hasta un montón de parciales para todas las pequeñas piezas. (Entonces puedo reutilizar esas piezas en otras plantillas también.)

En PHP o Ruby esto sería muy fácil, ¿hay alguna manera de hacer esto con HAML? gracias!

Dylan

¿Fue útil?

Solución

Toda una vieja pregunta, pero he actualizado el código fuente de phpHaml para reflejar esta nueva funcionalidad!

Salida del @github cometer https://github.com/endorama/phphaml/commit/8d95d5ebff06275db8b14438e566c6e41ec91b7f

Otros consejos

Se puede crear un método render_haml_partial mundial por analogía con el método existente de display_haml phpHaml que podría ser algo como:

function render_haml_partial($sFilename, $aVariables = array(), $sTmp = true, $bGPSSC = false)
{
    $sPath = realpath($sFilename);
    $haml = new HamlParser(dirname($sPath), $sTmp);
    $haml->append($GLOBALS);
    if ($bGPSSC)
    {
        $haml->append($_GET);
        $haml->append($_POST);
        $haml->append($_SESSION);
        $haml->append($_SERVER);
        $haml->append($_COOKIE);
    }
    $haml->append($aVariables);
    return $haml->fetch($sFilename);
}

Este método podría ser colocado en el archivo de HamlParser.class.php phpHaml por lo que está disponible para todos sus plantillas.

La única diferencia entre esto y display_haml es que se invoca en lugar de fetch display al final y devuelve el resultado para que pueda luego insertarlo en el lugar en la plantilla de la invocación.

A continuación, lo utilizaría en sus plantillas PHP / HAML de la siguiente manera:

= render_haml_template("path to partial")

Esto entonces sería muy similar a la sintaxis de rieles / HAML:

= render :partial => 'path to partial'

Tenga en cuenta que el uso directamente display_haml no tiene absolutamente el mismo efecto, ya que hace que la plantilla directamente a la salida en lugar de devolver el resultado a la persona que llama. De este modo se podría hacer lo siguiente:

- display_haml("path to partial")

Pero esto no refleja el resultado del render.

supongo que alguien que se preocupa lo suficiente sobre phpHaml podría añadir un render_haml_partial tales o algo similar con el tiempo -. Que podría sugerir que el autor algún tiempo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top