[eluser]nate_02631[/eluser]
@esra - yes, there are always "other ways" of doing things

... the point of my prior post was to refute the somewhat inaccurate definitions of the poster above...
As to point #1, I don't work with template designers myself but any logic that is contained in the view would be the most remedial PHP there is, and any designer worth their salt would be able to pick it up in a matter of minutes. Personally, I find it a little sloppy to load up variables in the controller with HTML or other display stuff and strive for a pure separation of output in views.
That being said, the extent of php logic in my view is:
Code:
<p><?= $this == $that ? 'This is That' : 'This is NOT that' ?></p>
<? if ($this == $that): ?>
<p>Conditional "blocks" used for displaying</p>
<p>more than one line of HTML...</p>
<? endif ?>
<ul>
<? foreach ($items->result() as $item): ?>
<li><?= $item->name ?></li>
<? endforeach ?>
</ul>
This has the advantages of keeping a strict separation of views (so you always know where to look for output), and provided your template designer is savvy, gives them *complete* control over the look of the page.