LoginSignup
2
0

More than 5 years have passed since last update.

【Concrete5】バージョン8でサービスプロバイダーオーバーライドするには?

Last updated at Posted at 2017-02-03

概要

Concrete5でコアファイルをカスタマイズする際の、サービスプロバイダーオーバーライドの方法に関して。
バージョン5.7は、マニュアルがあったが、バージョン8はないので記載。
バージョン5.7の場合

ちなみに、上記URLのやり方で書くと

予期せぬエラーが発生しました。
Class '\Application\Page\PageList' not found

となる。

手順

前提

  1. ページリスト表示処理をカスタマイズするために、/concrete/src/Page/PageList.phpをカスタマイズ対象とします。
  2. バージョン5.7の場合を参考にし、バージョン5.7との違いを説明していきます。

1.app.phpを作成。

/concrete/config/app.php
バージョン5.7の場合

app.php
<?php

return array(
    'providers' => array(
        'PageList' => '\Application\Src\Page\PageList'
    )
);

バージョン8の場合

app.php
<?php
return [
    'canonical-url' => '',
    'canonical-ssl-url' => '',
    'aliases' => [
        'PageList' => '\Application\Concrete\Page\PageList',
    ]
];
  • 既存ソースにある、「canonical・・・」はそのまま。aliasesを追加します。
  • カスタマイズするソースのパスを変えます。SrcConcrete

2.カスタマイズしたいファイルをコピー。

バージョン5.7の場合
/application/src/Page/PageList.php

バージョン8の場合
/application/src/Concrete/Page/PageList.php

  • Concreteディレクトリはないので作成する必要があります。

3.ファイルの中身を修正

バージョン5.7の場合

PageList.php
<?php
namespace Application\Src\Page;

class PageList extends \Concrete\Core\Page\PageList

{
    // カスタマイズ内容を記載
}

バージョン8の場合

PageList.php
<?php
namespace Application\Concrete\Page;

class PageList extends \Concrete\Core\Page\PageList
{
    // カスタマイズ内容を記載
}
  • namaspaceを変える必要があります。

以上。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0