- 追加された行はこの色です。
- 削除された行はこの色です。
[[EC-CUBEめも]]
**雛形の生成 [#k7ff6d6e]
*雛形の生成 [#k7ff6d6e]
コマンドでプラグインの雛形を生成することができます。
$ bin/console eccube:plugin:generate
対話形式でname, code, verを入力すると app/Plugin/[code]/ 以下に雛形となるファイル類が生成されます。
*プラグインのインストール [#scd951bc]
管理画面にてプラグインのインストールは可能です。~
コマンドでの操作はcodeを指定し、以下となります。
# インストール
$ bin/console eccube:plugin:install --code=[code]
# 有効化
$ bin/console eccube:plugin:enable --code=[code]
# 無効化
$ bin/console eccube:plugin:disable --code=[code]
# 削除
$ bin/console eccube:plugin:uninstall --code=[code]
# 削除(プラグインのファイルも削除する場合)
$ bin/console eccube:plugin:uninstall --code=[code] --uninstall-force=true
*プラグイン固有設定画面 [#d52f02a4]
プラグイン一覧画面からプラグイン固有の設定画面を開きたい場合、Routeの name は小文字で [code]_admin_config と指定します。~
コマンドで雛形を生成した場合は plugin_Test_config となっており設定リンクが表示されないので注意が必要です。
app/Plugin/Test/Controller/Admin/ConfigController.php
<?php
namespace Plugin\Test\Controller\Admin;
use Eccube\Controller\AbstractController;
use Plugin\Test\Form\Type\Admin\ConfigType;
use Plugin\Test\Repository\ConfigRepository;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
class ConfigController extends AbstractController
{
/**
* @var ConfigRepository
*/
protected $configRepository;
/**
* ConfigController constructor.
*
* @param ConfigRepository $configRepository
*/
public function __construct(ConfigRepository $configRepository)
{
$this->configRepository = $configRepository;
}
/**
* @Route("/%eccube_admin_route%/test/config", name="test_admin_config")
* @Template("@Test/admin/config.twig")
*/
public function index(Request $request)
{
$Config = $this->configRepository->get();
$form = $this->createForm(ConfigType::class, $Config);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$Config = $form->getData();
$this->entityManager->persist($Config);
$this->entityManager->flush($Config);
$this->addSuccess('登録しました。', 'admin');
return $this->redirectToRoute('test_admin_config');
}
return [
'form' => $form->createView(),
];
}
}