如何在使用 composer 安装全新的 Silverstripe 时引入常用的 DataObjects/Templates?

How to pull in commonly used DataObjects/Templates when using composer to install a fresh copy of Silverstripe?

我有我的 composer.json 文件,我用它来启动所有新项目:

composer.json

{
    "name": "silverstripe/installer",
    "description": "The SilverStripe Framework Installer",
    "require": {
        "php": ">=5.3.3",
        "silverstripe/cms": "3.2.0",
        "silverstripe/framework": "3.2.0",
        "silverstripe/reports": "3.2.0",
        "silverstripe/siteconfig": "3.2.0",
        "silverstripe-themes/simple": "3.1.*",
        "silverstripe-australia/gridfieldextensions": "*",
        "colymba/gridfield-bulk-editing-tools": "*"
    },
    "require-dev": {
        "phpunit/PHPUnit": "~3.7"
    },
    "config": {
        "process-timeout": 600
    },
    "prefer-stable": true,
    "minimum-stability": "dev"
}

如果我想引入一些常用的 dataobjects 和/或 template .ss 文件,我该怎么做呢?

例如,如果我有一个 SlideShow.php Dataobject 我想在每个项目中引入 - 目录结构看起来像这样 TestFolder->mysite->code->dataobjects->Slideshow.php - 我该如何提取它当我使用 composer 引入 Silverstripe 的新副本时,将其归档并制作它以便进入正确的目录。

Slideshow.php

<?php

class Slideshow extends DataObject {

    private static $db = array(
        'Title' => 'Varchar(255)',
        'ButtonTitleText' => 'Varchar(255)',
    );

    private static $has_one = array(
        'Image' => 'Image',
    );

    private static $summary_fields = array(
        'Image.Thumbnail' => 'Thumbnail',
        'Title' => 'Title'
    );
}

为什么不将您的幻灯片创建为一个模块,说实话,这相当简单..它只是将文件放在一个新的文件夹结构中。完成后,您可以配置作曲家在初始设置时将新模块拉入站点。