• EC-CUBE2.4.4 商品詳細ページのサブ画像を増やしてみた

    EC-CUBE2.4.4は 1つの商品に登録できるサブ画像の数はデフォルトで6個
    この数を増やしてみようと思います

    テスト環境

    • XAMPP lite1.7.3
    • PHP Version 5.3.1
    • MySQL クライアントのバージョン: 5.1.41
    • EC-CUBE2.4.4
    • Windows 7 64bit
    • Google Chrome

    今回の作業内容

    1. EC-CUBEの管理画面から設定を変更
    2. EC-CUBEの構成ファイルを編集
    3. データベースにテーブルの編集
    4. PHPの設定を変更
    5. 商品のサブ情報(画像)を追加し表示確認

    1.EC-CUBEの管理画面から設定を変更

    EC-CUBEの管理画面にログイン

    custom244_04

    「システム設定 > パラメータ設定」の画面を開きます

    custom244_05

    「PRODUCTSUB_MAX」はデフォルトで6なので この数字を増やせば 商品のサブ情報の入力項目が増えます

    custom244_06

    「商品管理 > 商品登録」を開いて確認して下さい

    custom244_08

    こんな感じで 入力枠が増えているはずです
    ただし この状態で情報を入力してもエラーが出るだけで 実際に情報を登録することはできません

    次の作業を行います

    2.EC-CUBEの構成ファイルを編集

    「dataclassdbdbfactorySC_DB_DBFactory_MYSQL.php」を編集します

    dtb_productsの追加

    custom244_09

    275行目以降にサブ情報を扱う記述があります

    
    dtb_products.sub_title7,
    dtb_products.sub_comment7,
    dtb_products.sub_image7,
    dtb_products.sub_large_image7,
    dtb_products.sub_title8,
    dtb_products.sub_comment8,
    dtb_products.sub_image8,
    dtb_products.sub_large_image8,
    dtb_products.sub_title9,
    dtb_products.sub_comment9,
    dtb_products.sub_image9,
    dtb_products.sub_large_image9,
    dtb_products.sub_title10,
    dtb_products.sub_comment10,
    dtb_products.sub_image10,
    dtb_products.sub_large_image10,
    dtb_products.sub_title11,
    dtb_products.sub_comment11,
    dtb_products.sub_image11,
    dtb_products.sub_large_image11,
    dtb_products.sub_title12,
    dtb_products.sub_comment12,
    dtb_products.sub_image12,
    dtb_products.sub_large_image12,
    

    を追記し

    custom244_10
    のように変更します

    今回デフォルトの6個から さらに6個追加し 全部で12個にしました

    vw_products_nonclassの追加

    同じように さっきの少し下あたりの
    custom244_11

    
    T1.sub_title7,
    T1.sub_comment7,
    T1.sub_image7,
    T1.sub_large_image7,
    T1.sub_title8,
    T1.sub_comment8,
    T1.sub_image8,
    T1.sub_large_image8,
    T1.sub_title9,
    T1.sub_comment9,
    T1.sub_image9,
    T1.sub_large_image9,
    T1.sub_title10,
    T1.sub_comment10,
    T1.sub_image10,
    T1.sub_large_image10,
    T1.sub_title11,
    T1.sub_comment11,
    T1.sub_image11,
    T1.sub_large_image11,
    T1.sub_title12,
    T1.sub_comment12,
    T1.sub_image12,
    T1.sub_large_image12,
    
    

    を追記します

    3.データベースのテーブルの編集

    custom244_12

    phpMyAdminから「EC-CUBE2.4.4用のデータベース」の「dtb_products」テーブルを表示

    custom244_13

    「dtb_products」テーブルに追加したサブ情報用のフィールドを追加していきます
    1つずつ作るのもいいですが テキストファイルを用意してインポートする方が簡単です
    「インポート」タブをクリック

    
    ALTER TABLE dtb_products ADD COLUMN sub_title7 text;
    ALTER TABLE dtb_products ADD COLUMN sub_comment7  mediumtext;
    ALTER TABLE dtb_products ADD COLUMN sub_image7 text;
    ALTER TABLE dtb_products ADD COLUMN sub_large_image7 text;
    ALTER TABLE dtb_products ADD COLUMN sub_title8 text;
    ALTER TABLE dtb_products ADD COLUMN sub_comment8  mediumtext;
    ALTER TABLE dtb_products ADD COLUMN sub_image8 text;
    ALTER TABLE dtb_products ADD COLUMN sub_large_image8 text;
    ALTER TABLE dtb_products ADD COLUMN sub_title9 text;
    ALTER TABLE dtb_products ADD COLUMN sub_comment9  mediumtext;
    ALTER TABLE dtb_products ADD COLUMN sub_image9 text;
    ALTER TABLE dtb_products ADD COLUMN sub_large_image9 text;
    ALTER TABLE dtb_products ADD COLUMN sub_title10 text;
    ALTER TABLE dtb_products ADD COLUMN sub_comment10  mediumtext;
    ALTER TABLE dtb_products ADD COLUMN sub_image10 text;
    ALTER TABLE dtb_products ADD COLUMN sub_large_image10 text;
    ALTER TABLE dtb_products ADD COLUMN sub_title11 text;
    ALTER TABLE dtb_products ADD COLUMN sub_comment11  mediumtext;
    ALTER TABLE dtb_products ADD COLUMN sub_image11 text;
    ALTER TABLE dtb_products ADD COLUMN sub_large_image11 text;
    ALTER TABLE dtb_products ADD COLUMN sub_title12 text;
    ALTER TABLE dtb_products ADD COLUMN sub_comment12  mediumtext;
    ALTER TABLE dtb_products ADD COLUMN sub_image12 text;
    ALTER TABLE dtb_products ADD COLUMN sub_large_image12 text;
    
    

    「subinfo-add.txt」(ファイル名は何でもいいです)を事前に用意
    custom244_14

    「インポートするファイル」の「ファイル選択」から「subinfo-add.txt」を選択し 右下の「実行する」をクリック

    custom244_15

    「dtb_products」テーブルに「subinfo-add.txt」に記述したフィールドが追加されました

    ※MySQLを変更したときは XAMPPコントロールパネルからMySQLを再起動します

    4.PHPの設定を変更

    ここまでで作業完了かと思ったら まだやらなければいけないことがありましたcustom244_16

    phpinfo()の画面で「max_file_uploads」の数字を確認して下さい
    おそらく「20」となってるはずです
    この「max_file_uploads」が20だと せっかく追加したサブ情報も9個目までしか追加できませんでした

    custom244_17

    「phpphp.ini」に「max_file_uploads = 30」と追記し Apacheを再起動すれば
    サブ情報12個追加できるようになります

    5.商品のサブ情報(画像)を追加し表示確認

    商品のサブ情報を入力する

    custom244_18

    EC-CUBEの管理画面「商品管理 > 商品登録」から
    こんな感じで商品情報を入れました

    custom244_19

    サブ情報の画像が12個表示されるようになりました

    今回の作業で学んだこと

    さくらインターネットでphp.iniの設定を変更(max_file_uploadsを増やす)

    さくらインターネット(スタンダードプラン)の場合
    コントロールパネルに「php.ini」の設定エリアがあり
    そこに「max_file_uploads = 30」と記述することで 設定を変更することができました

    テキストファイルでMySQLデータベースのテーブル(フィールド)を追加する

Comments are closed.