The error you described cannot be caused by this code. I assume that you are trying to build the string "de.admin.canEditMyClass" to use as a variable {$builtString.foo}. This is where the error occurs, because smarty does not magically convert your string to a variable reference.
If you are using Smarty2:
{assign var=objectName value="myClass"}
{assign var=objectNameUpper value=$objectName|ucfirst}
{assign var=editPerm value="canEdit"|cat:$objectNameUpper}
{$de.admin.$editPerm.foo}
If you are using Smarty3:
{$de.admin.{"canEdit"|cat:{"myClass"|ucfirst}}.foo}
source
share