EC-CUBE3では管理画面のサイドメニューに簡単にメニューを追加することができます。 見た目の修正なのでテンプレート(twig)を編集…かと思いきや、修正する必要があるのはServiceProviderです。 実際にはServiceProviderでやらなくても良いと思いますが、読み込まれている適当なServiceProviderに以下の記述を行います。 $app['config'] = $app->share($app->extend('config', function ($config) { $nav = array( 'id' => 'admin_new_menu', 'name' => '新規メニュー', 'url' => 'admin_new_menu', 'has_child' => 'false', 'icon' => 'cb-chart', 'child' => arr
EC-CUBEを使っていると、実際のビジネスに合わせて特殊な管理項目を作りたいというご要望は必ず出てくると思います。 今回は管理画面内に新規ページを作成し表示できるようにする方法を紹介します。 EC-CUBE3では、フレームワークでいうRouterの役割を果たしているクラスはControllerProviderです。 (ControllerProviderInterfaceを実装) このクラスがアクセスされるURLとコントローラーを紐づける役割を果たしています。 例えば、AdminControllerProviderの中身を見てみると、次のような行があります。 $c->match('/order/new', '\Eccube\Controller\Admin\Order\EditController::index')->bind('admin_order_new'); この一文の意味は、/
EC-CUBE3.0のプラグインも色々出来るようになったようなので、1つ作ってみましたが、 まーーーめんどくさい(;^ω^) 1コマンドで下でやったことぐらいまで出来ちゃうといいんですけどね・・・ 2017.04追記 使ったことがないけどこれを使うと一発で解決しそう! プラグインジェネレータエンティティの利用方法 | EC-CUBE 開発ドキュメント ベースのファイルを作成 プラグインジェネレータ / ECサイト構築・リニューアルは「ECオープンプラットフォームEC-CUBE」 便利なプラグインがあるので使いましょう migrationファイルの作成 ~~~ src/Eccube/Resource/doctrine/migration/Version2016xxxxxxxx.php にファイルが生成されるので、プラグイン内に移動させる 中身は手で作る(^o^) dcm.ymlを自動生成 ~
プラグインの種類 ミドルウェア before() after() FormEvent PRE_SET_DATA POST_SET_DATA PRE_SUBMIT SUBMIT POST_SUBMIT EccubeEvent OrderService::commit() ExtRouting ExtController ExtView 設定ファイル 利用方法 利用するプラグイン機構を必要に応じて記載する。 複数組み合わせることも可能 # /app/plugin/{plugin_name}/config.yml name: SampleEvent enable: false service: - SamplePluginServiceProvider orm.path: - /Resource/doctrine form: onPreSetData: SampleForm name 必須 プラ
はじめに 追記型でどんどんアプデしていきます。 用語が多くてルー大柴みたいになります。 作業リポジトリはこちら プラグインの利用方法についてはこちら 2日目できました こちら 目的 オーナーズストアに商品を増やしたい。 プラグインを作る開発者に向けて、手助けになる記事にしたい。 EC-CUBE3本体で、足りない箇所を洗い出したい。 EC-CUBE3のプラグインを2日でつくる - 1日目 というわけで作っていきます。 まずはどんなもの作るかってところから。 構想 カテゴリコンテンツというEC-CUBE2系であったプラグインをver.3にあわせて作り変えようと思います。 設計というほどのものではないですが、利用するEventはおおまかには以下な感じ。 Entity拡張:独自のものを定義 View拡張:Symfony/kernel.response これらを軸に必要なものを肉付けしたいと思います
なんかあるやろと思い探すと当然ありました。Googleで検索しても意外と言及している記事が出てこないので、知らん人もいるのではないでしょうか。 use Eccube\Util\Cache; use Eccube\Util\EntityUtil; use Eccube\Util\Str; use Eccube\Common\Constant; $outputValue = function ($title, $name, $value, $note) { ob_start(); if (is_object($value)) { echo get_class($value); } else { var_dump($value); } $result = ob_get_clean(); echo sprintf("■%s\n%s : %s %s\n\n", $title, $name, $res
EC-CUBE3ではSilexを利用しているため、お作法としてApplication.phpを起点に処理を行っています。 ではControllerで$appと頻繁に使われているこの変数(twigだとappのことです)には何がセットされているのかを見てみましょう。 表示の仕方は、3.0.8からの機能になりますがdumpという関数が使えるようになりますので、こちらを使って表示してみます。 Controllerでの使用方法 dump($app) Twigでの使用方法 {{ dump(app) }} Application {#8 ▼ #providers: array:21 [▼ 0 => EccubeMonologServiceProvider {#34} 1 => MonologServiceProvider {#35} 2 => TranslationServiceProvider {#4
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く