Welcome Guest, Not a member yet? Register   Sign In
Combine Add / Edit views
#1

[eluser]atebit[/eluser]
I am attempting to combine my add and edit views and have some questions regarding best approach. (The wiki has some info, but is for older version of CI). I am currently using 1.7.3.

Basic setup... when I call edit, I pass a $data array to populate the fields:

Code:
<?=form_input('email', $user->email)?>

Obviously with add, $data will not exist.

Code:
<?=form_input('email', set_value('email'))?>

The quick and dirty (wrong) way would be...

Code:
<? if(isset($user)) ?>
   <?=form_input('email', $user->email)?>
<? else ?>
   <?=form_input('email', set_value('email'))?>
<? endif ?>

Attempting to keep up with DRY philosophy, what is best approach?
#2

[eluser]Kindari[/eluser]
You could do $edit = true / false. Also the second parameter of set_value() allows a default value.

Code:
<?=form_input('email', set_value('email', $edit ? $user->email : '' ) )?>

Now some people simply do

Code:
<?=form_input('email', set_value('email', $user->email ) )?>

But this would generate warnings/errors (depending on your server) if $user is not defined. I prefer to be explicit.
#3

[eluser]helmutbjorg[/eluser]
That is how I would do it except you don't need the $edit variable at all. If a user exists then we know we are editing.
Code:
<?=form_input('email', set_value('email', isset($user) ? $user->email : '' ) )?>
#4

[eluser]atebit[/eluser]
Thanks for the suggestion guys!! Both are good approaches.
#5

[eluser]cityzen[/eluser]
scratch my post... not very DRY looking back on it...




Theme © iAndrew 2016 - Forum software by © MyBB