Pageable lists

Permalink
Hi there.
I only discovered C5 today, and I'm very excited about it! I have won and estate agency project, and an considering undertaking this project with C5. However, I would appreciate your advice on the following:

1. Based on a database schema, will C5 generate all the CRUD functions like, for instance, the ZEND or YII frameworks do ?
2. Will C5 allow me to create pageable lists of properties from a MySQL database?
3. How does inline editing of pages work with content generated from a database (such as a pageable list of property search results)?

I'm very much looking forward to be an active member of your community, and appreciate any assistance you can offer with my questions.

Best regards

CK

 
Mnkras replied on at Permalink Reply
Mnkras
1. Concrete5 uses ADO DB XML Schema and the Zend framework, Yes

2. Yes

3. Take a look at some of the existing blocks in the Marketplace
jordanlev replied on at Permalink Best Answer Reply
jordanlev
I think the key C5 concept to understand when doing sites like this is that everything revolves around PAGES. For example, instead of creating a separate database table for your properties, you could create a "Real Estate Property" page type, and then your users just add a page of that type to represent a new property in the system. This page will have the editable areas for users to enter content, but you probably also want to create some custom attributes for meta-data on each property (for info you can filter on when listing properties in other places). You could also group the property pages into categories by simply adding them under different top-level pages of your site (like "Residential", "Commercial", etc.).
To list out properties, use the Page List block and create a custom template for it (search the forums for all of this stuff -- there are tons of resources about it).

Depending on the complexity of your application, though, this may not be appropriate -- if there's LOTS of data to be entered or if there is complicated logic involved in the data, you may wish to create a dedicated admin interface for this so it's easier for users to enter data than it would be using page attributes. If this is the case, then Mnkras is correct that doing everything yourself with the database is possible (C5 stays much more out of your way than most CMS's if you want it to) -- you just create your own tables and some models, controllers, and single_page (views) to interact with and display that data (seehttp://www.concrete5.org/documentation/developers/pages/mvc-approac... for more details on how to do this approach).
Do note, however, that C5 only does about half the CRUD for you -- there is an ActiveRecord implementation in ADODB which you can use for your data models, and there are helper functions for outputting form html, but other than that you need to code up this for yourself (validation, processing, etc.)

Hope that helps.

-Jordan
Tony replied on at Permalink Reply
Tony
have you had a look at the concrete5 real estate package for this? http://inneroptics.net/concrete5/real-estate/... it might save you a lot of time. here's a demo for it:http://demo.inneroptics.net/listings/...