Concrete5是否具有类似于Drupal的CCK和视图的功能?如何在Concrete5中创建新的自定义内容类型(如目录或产品)?
最佳答案
Concrete5的重点是页面而不是数据(因为重点是易于编辑,并且大多数人的网站心理模型是一堆页面,而不是基于输入变量等内容动态填充的单个模板。等等。)。
因此,您将每一页都视为“记录”。 Concrete5具有“页面类型”的概念,通常等同于“主题模板”,但也可用于通过属性定义一组数据的目的。
因此,...为数据类型(例如产品)创建页面类型,并为产品元数据(名称,价格等)创建自定义属性。然后将产品添加到系统中,只需添加一个新页面并选择“产品”页面类型。该页面既充当该产品的“查看”页面,又充当其数据的锚点(在创建或编辑页面时,在“属性”对话框中)。现在,您可以使用“页面列表”块,并告诉它仅显示“产品”页面类型的页面,而不是使用“视图”查询来显示数据列表。要自定义页面列表的输出,您可以为其创建一个自定义模板-在其中,您可以通过以下方法输出页面的自定义属性(名称,价格等):echo $ cobj-> getCollectionAttributeValue('myattributename');)
综上所述,有一个可用的插件(尽管它不是免费的),其工作方式更像CCK / Views:http://www.concrete5.org/marketplace/addons/data-display/
当然,如果这实际上是产品目录,您可能想要使用eCommerce插件(也不免费,但在为付费客户建立网站时值得这样做)–由于StackOverflow,抱歉无法发布链接垃圾邮件过滤器,但是在Concrete5 Markeplace中很容易找到它。
如果您要在网站上显示非常复杂和广泛的数据库,那么Concrete5可能不是最佳的工具。但是对于更简单的以内容为中心的网站(例如,艺术家作品集,唱片公司,几十个人以下的员工列表),我发现它比诸如Drupal等以数据库为中心的CMS更容易建立和维护(特别是如果给非技术客户进行管理)。