[SMARTY] looping through array of objects not working

"A.J. Brown" <[email protected]>
Newsgroups gmane.comp.php.smarty.general
Message-ID <[email protected]>
Hello,

I know this was discussed earlier in the mailing list, but it is NOT working
for me.  I have verified that the method calls work through my
business-logic, but I cannot us the objects in the template.  I can,
however, use the objects when they are NOT within an array.


For example, I have the following template code:


----BEGIN------------------

{foreach from="items" item="itemobj"}
	<tr class="{cycle values="row1,row2"}">
	<td><input type="checkbox" name="item[{$itemobj->getId()}]"/></td>
	<td>{$itemobj->getSku()}</td>
	<td>{$itemobj->getName()|escape:"htmlall"}</td>
	<td>{$itemobj->getRevised()|date_format:"%D"}</td>
	<td>{$itemobj->getCreated()|date_format:"%D"}</td>
	</tr>
{foreachelse}
	<tr>
	<td colspan="8">No Records Found</td>
	</tr>
{/foreach}


----END--------------------

$items contains an array of InventoryItem objects.  I've verified this using
print_r() in the logic just before the assign() statement is done.

The first occurrence of any method call to $itemobj (in this case,
$itemobj->getId()) results in a "Call to a member function on a non-object"
fatal error.  However, if I call the method from the logic side, it works
fine.

Also, I've verified that objects which are assigned directly (i.e. not
within an array) are working fine.

I found a work-around to this in PHP5 using the ArrayAccess interface, but
our server is running PHP4.4 and I do not want to have to upgrade.  


I have the latest release of Smarty installed.  This particular problem is
occurring on a windows machine (Development environment), and I have not
tested it on the production Linux machine.

Why isn't this working?


A.J. Brown
BitNotion Technology

-- 
Smarty General Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.