Re: [SMARTY-DEV] Variable variables

From: Date: Wed, 05 Jun 2002 13:13:47 +0000
Subject: Re: [SMARTY-DEV] Variable variables
References: 1 2  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-111@lists.php.net to get a copy of this message
If you mean using $object->$var, it's already possible with Smarty 2.1.0. On Wed, 05 Jun 2002, Martijn van Zal wrote: > Hello all... > > I wonder if there is a way of implementing variable variabes into smart; > Sometimes I have an object, and I need a certain attribute from it. I need > this to create forms automatically. I have an array with form elements > (name, type) and I include the right template with the form for the right > variable type. ie: a textfield, wysiwyg html editor, image upload box, > selectbox > > So what I do is I run through the form elements array like this > > ============================ > {foreach from=$pageVars item=row} > <tr height=20> > {if (isset($row.editTemplate))} > {include file=$row.editTemplate row=$row} > {/if} > </tr> > {foreachelse} > ============================ > > And in the editTemplate I do something like this: > > ============================ > <td>{$row.name|translate}</td> > <td> > {if (isset($row.readOnly) && $row.readOnly)} > {$object|var:$row.name} > {else} > <input type="text" name="{$row.name}" > value="{$object|var:$row.name}"> > {/if} > </td> > ============================ > > The data to fill the form with comes from the '$object' object. What i want > to do is: $object->$row.name but unfortunally smarty currently doesn't have > this functionality. I solved this by using a modifier named 'var' which gets > the right attribute from the object > > ============================ > function smarty_modifier_var($object, $var) > { > if (is_object($object)) > return $object->$var; > return false; > } > ============================ > > This works fine, but I don't think this is the correct method, it's more > like a hack to get what I want. I tried looking in the source code but it's > too complicated for me. I don't have any Idea if anyone else has the same > problems or if it is hard to change it in the compiler functions. > > ________________________________________ > Martijn van Zal GFXartist Network > Technical Manager > > mail: martijn@gfxartist.com > icq: 8213621 > > > -- > Smarty Development Mailing List (http://smarty.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -Andrei http://www.gravitonic.com/ * I don't have a solution but I admire the problem. *

« previous php.smarty.dev (#111) next »