Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Blog Module /

Discuss the Blog Module.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Add dataobject manager images through frontend


Reply


3 Posts   2378 Views

Avatar
klikhier

Community Member, 150 Posts

18 June 2009 at 6:25am

Edited: 18/06/2009 6:28am

Hello, I have set up an ImageDateObjectManager that allows for adding multiple images to a BlogEntry through the CMS. My question: is it possible to add ONE image via www.website.com/blog/post?

Of course I can add the code below to function BlogEntryForm() in BlogHolder.php...

new SimpleImageField('Image', 'Image (optional)'),

..but is it possible to use such a solution to add one photo through the frontend (myUrl/blog/post) that will be visible in the ImageDataObjectManager in the CMS?

Avatar
UncleCheese

Forum Moderator, 4096 Posts

18 June 2009 at 7:49am

Well before you go hacking the core code, I would create a BlogHolder subclass so you can safely overload the BlogEntryForm() function. What was the result when you added an image field to that? I think it may work fine, because the postblog() handler just runs $form->saveInto(), and I believe that takes into account your related objects and uploads. If not, just overload the postblog() function.

Avatar
klikhier

Community Member, 150 Posts

18 June 2009 at 9:38pm

Thanks UncleCheese, I started with SS as a designer, so forgive me my coding shortcuts (and the overloading) What I have right now:

Photo.php

class Photo extends DataObject
{
   static $db = array (
'Caption' => 'Text'
   );

   static $has_one = array (
'Image' => 'Image',
      'Page' => 'Page',
      'GalleryPage' => 'GalleryPage',
      'CalculatorPage' => 'CalculatorPage',
      'BlogHolder' => 'BlogHolder',
      'BlogEntry' => 'BlogEntry'
   );
   
   public function getCMSFields_forPopup()
   {
      return new FieldSet(
new TextField('Caption','Name'),
         new ImageField('Image')
      );
   }

}

$has_many in BlogEntry.php

   static $has_many = array(
'Photos' => 'Photo'
   );

Added to function BlogEntryForm() in BlogHolder.php

         
new SimpleImageField('Photos', 'Image (optional)'),

This doesn't work? I don't fully understand what you mean with your latest sentence, so if you could... please help once more. Many thanks in advance!