我正在为一个项目寻找一个使用 Siverstripe 的博客模块。该博客具有我想要的大部分功能,但由于该网站主要以书籍为重点,因此我想在 blogpost 表中添加一些字段来保存书籍数据(标题、作者、评级等。看起来这应该相对简单但我似乎无法让它工作。我创建了以下扩展 PHP 文件:
namespace SilverStripe\Blog\Model;
use SilverStripe\Blog\Model\BlogPost;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\TextField;
use SilverStripe\Forms\TextareaField;
class BookDataExtension extends BlogPost
{
private static $db = [
'bookTitle' => 'Varchar',
'bookAuthor' => 'Varchar',
'bookSeries' => 'Varchar',
'bookISBN' => 'Varchar',
'bookSeriesNum' => 'Int',
'bookRating' => 'Decimal',
'bookCover' => 'Varchar'
];
}
并将以下内容添加到 mysite.yml 文件中:
SilverStripe\Blog\BlogPost:
extensions:
- SilverStripe\Blog\BookDataExtension
我还尝试将上述内容添加到博客模块本身的 config.yml 文件中。但是,无论我尝试什么,当我重建系统时,它都会为 BookDataExtension 创建新表,而不是将字段添加到 BlogPost 表中。我究竟做错了什么?