С моей точки зрения, задача представления состоит в том, чтобы визуализировать данные, поэтому, если вам нужны условия для их точного отображения, тогда непременно сделайте это, поскольку это позволит избежать дублирования HTML-кода, чтобы разделить его на 2 представления и протестировать вар в контроллере.
Кроме того, другой хорошей практикой будет использование альтернативного синтаксиса в представлении, поскольку это значительно упрощает отслеживание результатов. Например:
<!-- View -->
<div>
<?php if ( $status === 'pass' ) : ?>
<img src='passIcon.jpg'>Pass
<?php else : ?>
<img src='failIcon.jpg'>Fail
<?php endif; ?>
</div>
Однако, взяв ваш пример немного дальше, вы можете установить src в контроллере (я должен признать, что будут времена, когда вам понадобятся условные представления):
Контроллер
$data['src'] = ( $data['status'] === 'pass' ) ? 'passIcon.jpg' : 'failIcon.jpg';
$data['text'] = ( $data['status'] === 'pass' ) ? 'Pass text' : 'Fail text';
$this->load->view("Status Page", $data);
View
<!-- View -->
<div>
<img src='<?php echo $src; ?>'><?php echo $text; ?>
</div>