タグ

ブックマーク / umebius.com (6)

  • EC-CUBE4カスタマイズ - XServerのSSH接続でPHP5.4ではなくPHP7を指定してbin/console実行

    EC-CUBE4はphp7.1以上が必須要件になっており、bin/consoleスクリプトを使う場合はコマンドラインでもPHP7が必要です。 エックスサーバーのようにSSHが接続できるレンタルサーバーでも最初はPHPのバージョンが5.4となっています。ですので、下記の手順に従って、実行できるPHP-CLIのバージョンを変更してしまいます。 まずSSH接続を行います。コントロールパネルからSSH接続を有効に設定してください。 接続方法は今回の趣旨とは外れますので省略します。 SSH接続を行い、何もしない状態でphp -vをしてみるとバージョン5.4が表示されるはずです。(サーバー番号によっては違うかもしれません) PHP 5.4.45 (cli) (built: Nov 25 2015 20:59:59) Copyright (c) 1997-2014 The PHP Group Zend

    ki_sz
    ki_sz 2020/06/26
  • EC-CUBE4カスタマイズ - 4系で管理画面に新規メニュー項目を追加する方法

    今回は商品管理の一番下に新規メニュー項目を追加することを考えます。 まずメニューから開けるページが必要ですのでコントローラーを作成し、新しいページを作った後でそのページをメニューに追加してみましょう。今回はeccube_nav.yamlを編集するもっとも簡単な方法をご紹介します。 管理画面に新規ページを作る方法は下記URLで紹介しています。 管理画面に2ステップで新規ページを作る方法 それでは、このページを商品管理のメニューに追加してみます。 初期状態での管理画面のメニュー一覧はapp/config/eccube/packages/eccube_nav.yamlに配列として記載されています。 商品のメニュー部分は下記のようになっています。 parameters: eccube_nav: product: name: admin.product.product_management icon

    EC-CUBE4カスタマイズ - 4系で管理画面に新規メニュー項目を追加する方法
  • EC-CUBE3カスタマイズ - 管理画面に新規ページとメニューを追加する方法

    EC-CUBE3のページは一般的にコントローラとテンプレートが対となっています。 管理画面で新規画面を作成するには、コントローラとテンプレートを作成し、URLとコントローラの紐付け(ルーティング)を指定する必要があります。 コントローラの最後では$app->render()メソッドにより、どのテンプレートファイルを使用するかを決定してブラウザへ表示します。 (例)商品登録ページ URL: /admin/product/product/new 既存コントローラ: src/Eccube/Controller/Admin/Product/ProductController.php 既存テンプレート: src/Eccube/Controller/Admin/Product/ProductController.php または app/template/Admin/Product/product.tw

    ki_sz
    ki_sz 2019/06/20
  • EC-CUBE3, EC-CUBE4カスタマイズ - [必須] findByの便利な使い方を紹介! AND検索、OR検索、並び順、件数

    EC-CUBE3系、4系ではSQLを自分で書くことはほとんどありません。代わりに世界的なORM – Object Relational MapperであるDoctrine(ドクトリン)をフルに活用しています。 Doctrineで必ずといっていいほど使用するfindBy(findOneBy)メソッドについて、あまり知られていない第3引数、第4引数とともに使い方をご紹介します。下の方に4系のtwigでの書き方を記載しています。 findByとは? findByはDoctrine\ORM\EntityRepositoryクラスのメソッドです。EC-CUBEではDBテーブルからデータを取得したい時にはこのレポジトリクラスを起点にします。会員テーブルであればsrc\Eccube\Repository\CustomerRepositoryクラスです。EC-CUBE3のコントローラでは$app[‘ecc

    ki_sz
    ki_sz 2019/05/24
  • EC-CUBE3, EC-CUBE4カスタマイズ - decimalタイプのオプション、precisionとscaleとは?

    各バージョンごとのdecimalタイプの設定内容 テーブルの定義ファイルを見てみると、price02やtaxなど金額関係のカラムにはdecimal型が使われていることが分かります。 3系の場合、ProductClass.dcm.ymlに下記のように記載があります。 price02: type: decimal nullable: false precision: 10 scale: 0 4系ではEntity(ProductClass.php)に直接アノテーションとして記載されています。 /** * @var string * * @ORM\Column(name="price02", type="decimal", precision=12, scale=2) */ private $price02; 他のカラムの定義には見かけないprecisionとscaleという設定がありますね。 簡

    ki_sz
    ki_sz 2019/05/21
  • EC-CUBE3カスタマイズ - ポイントプラグインのポイント数を自前で取得

    EC-CUBE3のポイントプラグインでは、ポイント数はplg_point_customerデータベースに保存されています。 このデータはレポジトリ$app[‘eccube.plugin.point.repository.pointcustomer’]を利用して簡単に取得可能です。 $point = null; // ログインしているかどうかチェック if($app->isGranted('ROLE_USER') && isset($app['eccube.plugin.point.repository.pointcustomer'])){ // ポイントプラグインのレポジトリにあるメソッドを使用 $point = $app['eccube.plugin.point.repository.pointcustomer']->getLastPointById($app->user()->getI

  • 1