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.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

Extending the Admin CMS - Dealers Tab


Go to End
Reply


11 Posts   2222 Views

Avatar
borriej

Community Member, 267 Posts

4 May 2010 at 12:15am

Edited: 04/05/2010 11:23pm

Hello,

I want to extend the Admin part of the CMS because I want to create a dealer Locator.

I've made a sketch on how it must look:
[URL=http://img3.imageshack.us/img3/6908/cmsdealers.jpg][/URL]

Specs:
- Extra tab in CMS: Dealers (list must contain all the dealers in the dataBase)
- With the icons you must be able to delete or modify an entry
- With the add button you must be able to add an entry

- Variables in each row/entry:
naam    varchar(100)          
adres    varchar(100)          
postcode    varchar(6)          
plaats    varchar(100)          
telefoon    varchar(25)          
website    varchar(150)

Tutorial
I already followed some tutorials about this subject, but they are not sufficient. When I tried the tutorials I got a white screen..
followed:
- http://doc.silverstripe.org/modeladmin?s[]=modeladmin
and:
- http://doc.silverstripe.org/dataobject#customizing_scaffolded_fields

Also done read this presentation:
- http://www.slideshare.net/chillu/modeladmin-in-silverstripe-23
and downloaded the files, see page 28, and click the link.

But those files didnt work for me with SilverStripe 2.3.7!
Combined the files with my files online, but when: dev/build?flush=1
I only go a white screen..

!) Please help me, where do I start to build this feature?

Thank you!

Avatar
borriej

Community Member, 267 Posts

4 May 2010 at 9:10pm

up!

Avatar
borriej

Community Member, 267 Posts

4 May 2010 at 9:10pm

up!

Avatar
martimiz

Forum Moderator, 1132 Posts

5 May 2010 at 2:14am

In a hurry? :-)
This should get you going: it will create a Dealer Locator menu item in the CMS, where you can add Dealers using the ModelAdmin functionality. Just curious - why not just use a ComplexTableField (or DataObjectManager if you wish) on some Dealer Page (unless you're planning to add a large amount of dealers, that is)?

Dealer.php

<?php
class Dealer extends DataObject {

   static $db = array(
      'naam' => 'Varchar(100)',
      'adres' => 'Varchar(100)',
      'postcode' => 'Varchar(6)',
      'plaats' => 'Varchar(100)',
      'telefoon' => 'Varchar(25)',
      'website' => 'Varchar(150)',
   );

   static $searchable_fields = array(
      'naam',
      'adres',
      'postcode',
      'plaats'
   );

   static $summary_fields = array(
      'naam',
      'adres',
      'postcode',
      'plaats'
   );
}
?>

DealerAdmin.php

<?php
class DealerAdmin extends ModelAdmin {

   public static $managed_models = array(
      'Dealer'
   );

   static $url_segment = 'dealerlocator';
   static $menu_title = 'Dealer Locator';
}
?>


Do a /dev/build/?flush=1 after

Avatar
borriej

Community Member, 267 Posts

5 May 2010 at 2:22am

I pressed the button twice :P but yes I'm in a hurry :) I really like SilverStripe and want to learn as fast a possible ;)

Thank you for the code I will try it in a second! Thank you.

There will be like 400 dealers, therefor a different section would be nice?
I already have a database with 400 dealers in it, so I hope SilverStripe will be able to add 'records/rows' in this structure.

Avatar
borriej

Community Member, 267 Posts

5 May 2010 at 2:32am

Ok SUPER it works :) How do I add a pencil-icon behind every entry so I can modify it?

Avatar
martimiz

Forum Moderator, 1132 Posts

5 May 2010 at 2:36am

You can't (unless you want to go through a whole lot of trouble) and you don't have to. Just click on the items you added to open the popup...

Avatar
borriej

Community Member, 267 Posts

5 May 2010 at 3:31am

I've magaged to change all my old entry's to the new database format.

So changed the record format from:

INSERT INTO `Dealer` (`ID`, `naam`, `adres`, `postcode`, `plaats`, `telefoon`, `website`)

into:

INSERT INTO `Dealer` (`ID`, `ClassName`, `Created`, `LastEdited`, `naam`, `adres`, `postcode`, `plaats`, `telefoon`, `website`) VALUES

and it works :)

But I do like to be able to make changes to each record in SilverStripe, now it is not possible. When I click a dealer, I can type new text into a field, but i can't hit the save button.

Is it possible to add this? :)

Go to Top