{: include (file) :}

Descripción

El bloque se sustituye por el archivo "file", file puede ser un nhtml, nsql, html, php, sh, text, perl, etc.

Si file es un archivo Nes (nhtml) éste ejecutara su script Perl. En proximas versiones con include se podrá incluir todo tipo de archivos, tanto ejecutables como html o texto plano.

Envio de parámetros

Se pueden enviar parámetros al archivo incluido:

{: include ('thefile.nhtml','parámetro1', ... ) :}

Estos se recibirán en el archivo nhtml en variables de entorno como:
    
q_nombre-archivo-sin-extensión_param_número-de-orden-parámetro
    
{: * q_thefile_param_1 :} 

Y en el script Perl con similar notación, excluyendo 'q_', en el objeto query:
    
use Nes;
my $nes = Nes::Singleton->new('thefile.nhtml');

my $q = $nes->{'query'}->{'q'};
my $param = $q->{'thefile_param_1'};

Inclusión y anidamiento

Los parámetros permiten la inclusión:

{: include ( '{: $ file :}' ) :} <- Ok

No se permite el anidamiento ni la inclusión de bloques:
 
{: include ('file.html' ) {: include ('file.html' ) :} :} <- ERROR

Ejemplo

file.nhtml:

{: NES 1.0 ('file.pl') :}
<html>
  <head>
    <title>Nes sample/title>
  </head>
  <body>
    {: include ('hello.html') :}
  </body>
</html>

hello.html:
    
<b>Hello!</b>

file.pl:
   
use Nes;

my = Nes::Singleton:Singleton->new('file.nhtml');

$nes->out();

Salida:
    
Hello!

Más ejemplos de: include