EC-CUBE4系プラグインの作成
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[EC-CUBEめも]]
*雛形の生成 [#k7ff6d6e]
コマンドでプラグインの雛形を生成することができます。
$ bin/console eccube:plugin:generate
対話形式でname, code, verを入力すると app/Plugin/[code]/ ...
EC-CUBE 4.0-beta版では要求されませんでしたが、EC-CUBE 4.0...
description がプラグイン名称になり、指定が無い場合は code...
{
"name": "ec-cube/Test",
"description": "テストプラグイン",
"version": "1.0.0",
"type": "eccube-plugin",
"require": {
"ec-cube/plugin-installer": "~0.0.6"
},
"extra": {
"code": "Test"
}
}
プラグインを圧縮する場合はフォルダを含めないように注意し...
$ cd app/Plugin/Test
$ tar --exclude ".git" -cvzf ../Test-1.0.0.tar.gz *
*プラグインのインストール [#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] --un...
*プラグイン固有設定画面 [#d52f02a4]
プラグイン一覧画面からプラグイン固有の設定画面を開きたい...
コマンドで雛形を生成した場合は plugin_Test_config となっ...
またtwigのframe指定を修正する必要があります。
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\Rou...
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Tem...
use Symfony\Component\HttpFoundation\Request;
class ConfigController extends AbstractController
{
/**
* @var ConfigRepository
*/
protected $configRepository;
/**
* ConfigController constructor.
*
* @param ConfigRepository $configRepository
*/
public function __construct(ConfigRepository $config...
{
$this->configRepository = $configRepository;
}
/**
* @Route("/%eccube_admin_route%/test/config", name=...
* @Template("@Test/admin/config.twig")
*/
public function index(Request $request)
{
$Config = $this->configRepository->get();
$form = $this->createForm(ConfigType::class, $Co...
$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_co...
}
return [
'form' => $form->createView(),
];
}
}
app/Plugin/Test/Resource/template/admin/config.twig
{% extends '@admin/styleguide_frame.twig' %}
↓
{% extends '@admin/default_frame.twig' %}
参考~
[[EC-CUBE4系でのプラグインエラーの原因と予防対策:https://...
終了行:
[[EC-CUBEめも]]
*雛形の生成 [#k7ff6d6e]
コマンドでプラグインの雛形を生成することができます。
$ bin/console eccube:plugin:generate
対話形式でname, code, verを入力すると app/Plugin/[code]/ ...
EC-CUBE 4.0-beta版では要求されませんでしたが、EC-CUBE 4.0...
description がプラグイン名称になり、指定が無い場合は code...
{
"name": "ec-cube/Test",
"description": "テストプラグイン",
"version": "1.0.0",
"type": "eccube-plugin",
"require": {
"ec-cube/plugin-installer": "~0.0.6"
},
"extra": {
"code": "Test"
}
}
プラグインを圧縮する場合はフォルダを含めないように注意し...
$ cd app/Plugin/Test
$ tar --exclude ".git" -cvzf ../Test-1.0.0.tar.gz *
*プラグインのインストール [#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] --un...
*プラグイン固有設定画面 [#d52f02a4]
プラグイン一覧画面からプラグイン固有の設定画面を開きたい...
コマンドで雛形を生成した場合は plugin_Test_config となっ...
またtwigのframe指定を修正する必要があります。
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\Rou...
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Tem...
use Symfony\Component\HttpFoundation\Request;
class ConfigController extends AbstractController
{
/**
* @var ConfigRepository
*/
protected $configRepository;
/**
* ConfigController constructor.
*
* @param ConfigRepository $configRepository
*/
public function __construct(ConfigRepository $config...
{
$this->configRepository = $configRepository;
}
/**
* @Route("/%eccube_admin_route%/test/config", name=...
* @Template("@Test/admin/config.twig")
*/
public function index(Request $request)
{
$Config = $this->configRepository->get();
$form = $this->createForm(ConfigType::class, $Co...
$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_co...
}
return [
'form' => $form->createView(),
];
}
}
app/Plugin/Test/Resource/template/admin/config.twig
{% extends '@admin/styleguide_frame.twig' %}
↓
{% extends '@admin/default_frame.twig' %}
参考~
[[EC-CUBE4系でのプラグインエラーの原因と予防対策:https://...
ページ名: