Displaying an uploaded image?

A place for users and developers of the Xataface to discuss and receive support.

Displaying an uploaded image?

Postby sophistry » Mon Feb 02, 2009 6:34 pm

I'm having the hardest time figuring out how to get an uploaded image to display as a logo in a record.

I'm avoiding using a BLOB field, as I don't want to bulk the database up to large.

The field is VARCHAR(2048) and my fields.ini looks like this for the table:

[ref_image]
Type = container
logo = 1
widget:type = file
allowed_extensions = jpg,jpeg,gif,tga,tif

No matter what I do or change with the fields.ini, the field either comes up blank, as regular text, or wants me to open up the image in a new window. Won't display in the record. Is there a size restriction or something?

Thanks,
Rory
sophistry
 
Posts: 27
Joined: Mon May 19, 2008 11:20 am

Postby shannah » Mon Feb 02, 2009 10:06 pm

Try adding a field named ref_image_mimetype to your table (varchar) to hold the mimetype of the file. Xataface will know what to do with it.
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Image display in List view

Postby sophistry » Sun Mar 29, 2009 5:32 pm

Hey Steve,
This helped me out when trying to put reference shots into my database, but I have a related question...

How can I get the image to display in the List view, the same way it's displayed in the record view? It only displays the path to the image. Maybe the only way to do it is by storing the image in the database itself instead of uploading it to a directory?

Thanks,
Rory
sophistry
 
Posts: 27
Joined: Mon May 19, 2008 11:20 am

Postby shannah » Thu Apr 02, 2009 6:54 pm

You can do this using the renderCell() method in your delegate class to customize how the field is displayed.

e.g.
Code: Select all
function my_image__renderCell(&$record){
    return '<img src="'.$record->display('my_image').'"/>';
}
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Procedure for displaying logo

Postby cwight27 » Tue May 05, 2009 6:53 pm

I attempted to piece this information in the post and it generated an error does anyone know the step by step procedure.
cwight27
 
Posts: 10
Joined: Mon Apr 27, 2009 6:43 pm

Postby fongchun » Tue May 05, 2009 11:47 pm

I made a post about this on my blog which goes through a step by step procedure on how to do it. You can find it here.
fongchun
 
Posts: 30
Joined: Sun Aug 03, 2008 12:23 am
Location: Vancouver, BC

Re: Displaying an uploaded image?

Postby librarymark » Thu Jun 10, 2010 10:00 am

Is there a way to make the image show up on the list view and the edit view?
librarymark
 
Posts: 4
Joined: Thu Jun 10, 2010 9:59 am

Re: Displaying an uploaded image?

Postby shannah » Thu Jun 10, 2010 10:06 am

Yes. Which are you having trouble with right now? The list view or the edit view?
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: Displaying an uploaded image?

Postby librarymark » Thu Jun 10, 2010 10:09 am

Wow - that was quick! thanks!

I can get the images to show up in details view, but it does not show up in edit or list. This is the code I am using in my delegate class:

Code: Select all
function image_id__htmlValue(&$record){
   return '<img src="'.$record->display('image_url').'" width="400"></img>';
}
librarymark
 
Posts: 4
Joined: Thu Jun 10, 2010 9:59 am

Re: Displaying an uploaded image?

Postby shannah » Thu Jun 10, 2010 10:27 am

For list view, use the xxx__renderCell() method:
Code: Select all
function my_image__renderCell(&$record){
    return '<img src="'.$record->display('my_image').'"/>';
}


For edit view, you will likely want to implement a before_xxx_widget() block to display your image (where xxx is the name of the field before which it should appear.

Code: Select all
function block__before_my_field_widget(&$record){
    echo '<img src="'.$record->display('my_image').'"/>';
}
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: Displaying an uploaded image?

Postby librarymark » Thu Jun 10, 2010 10:56 am

Again, many thanks. The list and detail view are now working great. Still having trouble with the edit view. When I put in this code:

Code: Select all
function block__before_image_id_widget(&$record){
         return '<img src="'.$record->display('image_url').'" width="400"></img>';
   }


(image_id is the name of the field)

When i click on edit, I get this error:
Code: Select all
Fatal error: Call to a member function display() on a non-object in /var/www/historical_new/jane/historical_images/tables/image_data/image_data.php  on line 12


What am I missing? Here is my delegate class now:

Code: Select all
<?
class tables_image_data {

   function image_id__htmlValue(&$record){
      return '<img src="'.$record->display('image_url').'" width="400"></img>';
   }

   function image_id__renderCell(&$record){
      return '<img src="'.$record->display('image_url').'" width="200"></img>';
   }

   function block__before_image_id_widget(&$record){
         return '<img src="'.$record->display('image_url').'" width="400"></img>';
   }
}

?>
librarymark
 
Posts: 4
Joined: Thu Jun 10, 2010 9:59 am

Re: Displaying an uploaded image?

Postby shannah » Thu Jun 10, 2010 11:01 am

Sorry... my mistake... blocks don't take the record as a parameter.

should be more like:
Code: Select all
function block__before_myfield_widget(){
     $record =& Dataface_Application::getInstance()->getRecord();
     if ( $record ){
        echo '<img src="'.$record->display('image_url').'"/>';
    }
}
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: Displaying an uploaded image?

Postby librarymark » Thu Jun 10, 2010 11:09 am

Wow - you are amazing! This:

Code: Select all
   function block__before_image_url_widget(){
       $record =& Dataface_Application::getInstance()->getRecord();
        if ( $record ){
          echo '<img src="'.$record->display('image_url').'"width="400" />';
       }


...worked a treat! Thanks again!
librarymark
 
Posts: 4
Joined: Thu Jun 10, 2010 9:59 am

Re: Displaying an uploaded image?

Postby chichi » Mon Jul 19, 2010 3:08 am

I need som ehelp on this, My list is not showing images instead it shows the path to the image.

chichi
Last edited by chichi on Mon Jul 19, 2010 5:06 am, edited 1 time in total.
chichi
 
Posts: 28
Joined: Fri Jul 09, 2010 3:05 am

Re: Displaying an uploaded image?

Postby chichi » Mon Jul 19, 2010 4:28 am

application-delegate.php - I found it.

I found it and added this code to it but it shows the image only in the edit-part not in the view list:

Code: Select all
   function bild__htmlValue(&$record){  // bild is my field  in the table
      return '<img src="'.$record->display('bild').'" width="400"></img>';
   }

   function bild__renderCell(&$record){
      return '<img src="'.$record->display('bild').'" width="50"></img>';
   }

   
   function block__before_bild_widget(){
       $record =& Dataface_Application::getInstance()->getRecord();
        if ( $record ){
          echo '<img src="'.$record->display('bild').'"width="400" />';
       }
      
}


One more thing:

Do I need to declare a class like this:

Code: Select all
class tables_referenten { ...


referenten is my table-name (referenten =Referenten)




chichi
chichi
 
Posts: 28
Joined: Fri Jul 09, 2010 3:05 am


Return to Xataface Users

Who is online

Users browsing this forum: No registered users and 37 guests

Powered by Dataface
© 2005-2007 Steve Hannah All rights reserved