Note the upgraded forum! If you are experiencing issues logging in, you may need to reset your password which should send an email. If the email doesn't arrive, be sure to check your spam folder just in case.

Custom image upload path (_image and _image_upload)

edited February 2011 in Modules
I've built a function that allows me to set a custom image path for images to upload into and for the asset selector to pull from. This goes in a model
function asset_custom_path_upload(&$fields,&$values, $field_name, $custom_path, $field_type='images'){ global $__FUEL_CUSTOM_IMAGE_ORDER; if(empty($__FUEL_CUSTOM_IMAGE_ORDER)) $__FUEL_CUSTOM_IMAGE_ORDER = 100; $config_asset = array( 'class'=>'asset_select '.$field_type.'/' . $custom_path, 'order'=> $__FUEL_CUSTOM_IMAGE_ORDER++ ); $config_upload = array( 'type' => 'file', 'label'=> 'OR Upload a new image', 'upload_path' => assets_server_path($custom_path, $field_type), 'overwrite' => TRUE, 'order'=> $__FUEL_CUSTOM_IMAGE_ORDER++ ); $img = '<div class="img_display"><img src="'.assets_path().$field_type.'/%s" style="float: right;"/></div>'; $config_upload['before_html'] = (!empty($values[$field_name]) ? sprintf($img, $custom_path . $values[$field_name]) : ""); $fields[$field_name] = $config_asset; $fields[$field_name . '_upload'] = $config_upload; }
Basically it just adds the needed field config for both the field and _upload counterpart.

My question is, how can I get the _upload field to follow directly after my _image field? It seems the the _upload fields are added after all my database fields are converted into the form. The code I have above works, it just puts the file selector at the end where I'd like it to be grouped with each image field.


  • edited 11:38PM
    There is an 'order' parameter you can set for the field which should help where it is located in the form.
  • edited 11:38PM
    Oh awesome. That works great.

    If anyone else is interested in using this function, it allows you to set a custom upload path and asset path with one line. Add the above function to your model, and call it in form_fields using
    $this->asset_custom_path_upload( $fields, $values, // Reference to fields & values arrays "field_name", // DB column name "path/to/use/", // With trailing slash "images" // [optional] images,pdf,etc );

    It will then place the specified field uploaders at the end of your form and sandbox the user in a specific directory.

    Thanks "admin" (David right?)
  • edited 11:38PM
    You're welcome... (and David is my name)
Sign In or Register to comment.