Does Concrete5 have something similar to Drupal's CCK and Views?
Does Concrete5 have something similar to Drupal's CCK and Views? How can I create 开发者_如何学编程a new custom content type (like catalog or product) in Concrete5?
Concrete5 is more page-focused than data-focused (because its emphasis is on ease-of-editing, and most people's mental model of their website is a bunch of pages, not a single template dynamically populated with content based on input variables etc. etc.). Hence you treat each page as a "record". Concrete5 has a concept of "page types", which usually are equated to "theme templates", but also serve the purpose of defining a set of data through attributes.
So... you create a page type for the type of data (let's say a product), and you create custom attributes for product meta-data (name, price, etc.). Then to add a product to the system, you just add a new page and choose the "product" page type. This page serves as both the "view" page for that product, and also as the anchor for its data (in the "Properties" dialog when you create or edit the page). Now, instead of a "view" query to present a listing of data, you use the "Page List" block and tell it to only show pages of the "product" page type. To customize the output of the page list, you can create a custom template for it -- in which, among other things, you can output the custom attributes of the page (name, price, etc. -- by calling this: echo $cobj->getCollectionAttributeValue('myattributename'); )
All that being said, there is a plugin available (although it's not free) that works more like CCK/Views: http://www.concrete5.org/marketplace/addons/data-display/
And of course if this is actually for a product catalog, you probably want to use the eCommerce plugin (also not free, but well worth it when building sites for clients who are paying you) -- sorry can't post link due to StackOverflow spam filter, but it's very easy to find in the concrete5 markeplace.
If you have a very complicated and extensive database to display in the website, then Concrete5 is probably not the best tool for the job. But for simpler content-focused sites (for example, artist portfolios, record labels, staff listings under a few dozen people), I find it to be much easier to set up and maintain than more database-focused CMS's such as Drupal (especially if giving to a non-technical client to manage).
精彩评论