2011-02-17 27 views
5

Tengo un hash cuyas claves estoy revisando en Template Toolkit. El ejemplo está por debajo ....Agregar valores a un hash en Template Toolkit

<SELECT NAME="SelectList_[% feed.num %]" ID="SelectList_[% feed.num %]" SIZE="5" style="width: 250px;" MULTIPLE> 
    [% FOREACH xvar = feed.xvars.keys %] 
    <OPTION VALUE="[% xvar %]">[% xvar %]</OPTION> 
    [% END %] 
    <OPTION VALUE="X_File_Name">X_File_Name</OPTION> 
</SELECT> 

Lo que necesito hacer es ordenar alfabéticamente la lista SELECT (usando una especie, que sé cómo hacerlo. El problema es que la línea

<OPTION VALUE="X_File_Name">X_File_Name</OPTION> 

. Tenía la esperanza de que sólo tiene que añadir valor "X_File_Name" al hash feed.xvars. Algo como esto ...

[% feed.xvars = { "X_File_Name" => "1" } %] 

la esperanza de que eso sería añadir el valor a la almohadilla (en contraposición a la obliteración él). No se tal suerte. L Al acceder al libro de herramientas de plantillas, Google no cede nada tampoco. Alguien sabe cómo hacer esto?

Respuesta

3

Después de preguntar esto, lo descubrí.

[% appendval = { "X_File_Name" => "1" } %] 
[% feed.xvars.import(appendval) %] 
2

Hay un enfoque mucho más fácil:

[% feed.xvars.X_File_name = 1 %] 

Usted acceder a los elementos individuales en un hash TT utilizando la sintaxis de punto.

Cuestiones relacionadas