SIl*_*bie -1 database silverstripe content-management-system
如何在Silverstripe页面中添加变量自定义字段?例如,如果我为"爱好"创建了一个自定义字段,那么一个人可能会有几个爱好.因此我需要用户动态添加另一个字段以进入前端CMS中的业余爱好.那么也许用户可以点击CMS中的"添加其他爱好"按钮?
另一个问题是如何在程序中填充Silverstripe中的表格?
听起来你需要has_many在你的页面上建立一个与Hobby数据对象扩展的关系:
// HobbyPage.php
class HobbyPage extends Page {
private static $has_many = array(
'Hobbies' => 'HobbyPage'
);
}
// Hobby.php
class Hobby extends DataObject {
private static $has_one = array(
'HobbyPage' => 'HobbyPage'
);
private static $db = array(
'Title' => 'Varchar(250)',
// Any extra fields you want
);
}
Run Code Online (Sandbox Code Playgroud)
根据您需要的数据复杂程度,您可以使用GridField标签字段(https://github.com/silverstripe-labs/silverstripe-tagfield)处理CMS中的数据.重要的是has_many在担心如何存储/检索数据之前,让您的底层数据库结构正确(使用as ).
我相信SilverStripe课程(http://www.silverstripe.org/learn/lessons)涵盖数据关系,应该有所帮助.
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |