「コミュニティーサイト」タグアーカイブ

EC-CUBE 管理者メニュー 権限設定について

注意:自己責任でお願い致します。

EC-CUBE の管理画面では

ログイン者ごとに権限を設定できる仕様になっています。

現在のところ、権限ごとに画面を制御するのではなく、

管理者メニューの項目を権限によって非表示することで

簡易的な制御をしています。

(この経緯は、EC-CUBEのコミュニティーサイトで議論されており

設定方法も、コミュニティサイトにのっています)

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=398&forum=7

今回、権限を4種類ほど設定して権限ごとにメニュー項目の表示非表示をするにあたり

メニュー項目の設定の一覧を作成しました。

 

その際に、

data/Smarty/templates/admin/design/subnavi.tpl

を修正いたしました。

修正内容は以下のとおりです。


<ul>
<li id="navi-design-pc"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/<!--{$smarty.const.DIR_INDEX_PATH}-->?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>PC</span></a>
<ul>
<li<!--{if $tpl_subno == 'layout'}--><!--{/if}--> id="navi-design-pc-layout"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/<!--{$smarty.const.DIR_INDEX_PATH}-->?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>レイアウト設定</span></a></li>
<li<!--{if $tpl_subno == 'main_edit'}--><!--{/if}--> id="navi-design-pc-main"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/main_edit.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>ページ詳細設定</span></a></li>
<li<!--{if $tpl_subno == 'bloc'}--><!--{/if}--> id="navi-design-pc-bloc"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/bloc.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>ブロック設定</span></a></li>
<li<!--{if $tpl_subno == 'header'}--><!--{/if}--> id="navi-design-pc-header"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/header.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>ヘッダー/フッター設定</span></a></li>
<li<!--{if $tpl_subno == 'css'}--><!--{/if}--> id="navi-design-pc-css"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/css.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>CSS設定</span></a></li>
<li<!--{if $tpl_subno == 'template'}--><!--{/if}--> id="navi-design-pc-template"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/template.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>テンプレート設定</span></a></li>
<li<!--{if $tpl_subno == 'up_down'}--><!--{/if}--> id="navi-design-pc-add"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/up_down.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_PC}-->"><span>テンプレート追加</span></a></li>
</ul>
</li>
<li id="navi-design-mobile"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/<!--{$smarty.const.DIR_INDEX_PATH}-->?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>モバイル</span></a>
<ul>
<li<!--{if $tpl_subno == 'layout'}--><!--{/if}--> id="navi-design-mobile-layout-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/<!--{$smarty.const.DIR_INDEX_PATH}-->?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>レイアウト設定</span></a></li>
<li<!--{if $tpl_subno == 'main_edit'}--><!--{/if}--> id="navi-design-mobile-main-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/main_edit.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>ページ詳細設定</span></a></li>
<li<!--{if $tpl_subno == 'bloc'}--><!--{/if}--> id="navi-design-mobile-bloc-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/bloc.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>ブロック設定</span></a></li>
<li<!--{if $tpl_subno == 'header'}--><!--{/if}--> id="navi-design-mobile-header-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/header.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>ヘッダー/フッター設定</span></a></li>
<li<!--{if $tpl_subno == 'css'}--><!--{/if}--> id="navi-design-mobile-css-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/css.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>CSS設定</span></a></li>
<li<!--{if $tpl_subno == 'template'}--><!--{/if}--> id="navi-design-mobile-template-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/template.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>テンプレート設定</span></a></li>
<li<!--{if $tpl_subno == 'up_down'}--><!--{/if}--> id="navi-design-mobile-add-<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/up_down.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_MOBILE}-->"><span>テンプレート追加</span></a></li>
</ul>
</li>
<li id="navi-design-sphone"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/<!--{$smarty.const.DIR_INDEX_PATH}-->?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>スマートフォン</span></a>
<ul>
<li<!--{if $tpl_subno == 'layout'}--><!--{/if}--> id="navi-design-sphone-layout"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/<!--{$smarty.const.DIR_INDEX_PATH}-->?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>レイアウト設定</span></a></li>
<li<!--{if $tpl_subno == 'main_edit'}--><!--{/if}--> id="navi-design-sphone-main"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/main_edit.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>ページ詳細設定</span></a></li>
<li<!--{if $tpl_subno == 'bloc'}--><!--{/if}--> id="navi-design-sphone-bloc"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/bloc.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>ブロック設定</span></a></li>
<li<!--{if $tpl_subno == 'header'}--><!--{/if}--> id="navi-design-sphone-header"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/header.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>ヘッダー/フッター設定</span></a></li>
<li<!--{if $tpl_subno == 'css'}--><!--{/if}--> id="navi-design-sphone-css"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/css.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>CSS設定</span></a></li>
<li<!--{if $tpl_subno == 'template'}--><!--{/if}--> id="navi-design-sphone-template"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/template.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>テンプレート設定</span></a></li>
<li<!--{if $tpl_subno == 'up_down'}--><!--{/if}--> id="navi-design-sphone-add"><a href="<!--{$smarty.const.ROOT_URLPATH}--><!--{$smarty.const.ADMIN_DIR}-->design/up_down.php?device_type_id=<!--{$smarty.const.DEVICE_TYPE_SMARTPHONE}-->"><span>テンプレート追加</span></a></li>
</ul>
</li>
</ul>

書き換え部分は <… id=’navi-******’ …> の部分のみです。

検証は2.11.4で行いました。

以下はcssに設定が簡単に出来るようにまとめたものです。


/*  管理者メニュー id一覧                                                     */
/*  管理者の権限番号毎にcssに設定することによりメニューを非表示に出来る       */
/*  デザイン部分サブメニューのidの設定については、                            */
/*  data/Smarty/templates/admin/design/subnavi.tpl書き換えを行っているため、  */
/*  一部既存のものと対応していない                                            */
/*  authority_* の*部分には権限番号を設定すること                             */
/*  権限番号については、mtb_authorityを参照                                   */
/*  cssファイルは html/user_data/packages/admin/css/admin_contents.css        */
/*  cssの設定を行ってメニューの非表示が出来るだけである                       */
/*  管理画面ログイン後、直接urlを指定した場合はその画面を操作できます         */

,.authority_* #navi-basis                   /* 基本情報管理             */
,.authority_* #navi-basis-index             /* -SHOPマスター           */
,.authority_* #navi-basis-tradelaw          /* -特定商取引法           */
,.authority_* #navi-basis-delivery          /* -配送方法設定           */
,.authority_* #navi-basis-payment           /* -支払方法設定           */
,.authority_* #navi-basis-point             /* -ポイント設定           */
,.authority_* #navi-basis-mail              /* -メール設定             */
,.authority_* #navi-basis-seo               /* -SEO管理                */
,.authority_* #navi-basis-kiyaku            /* -会員規約設定           */
,.authority_* #navi-basis-zip               /* -郵便番号DB登録         */
,.authority_* #navi-basis-holiday           /* -定休日管理             */

,.authority_* #navi-customer                /* 顧客管理                 */
,.authority_* #navi-customer-index          /* -顧客マスター           */
,.authority_* #navi-customer-customer       /* -顧客登録               */

,.authority_* #navi-order                   /* 受注管理                 */
,.authority_* #navi-order-index             /* -受注管理               */
,.authority_* #navi-order-add               /* -受注登録               */
,.authority_* #navi-order-status            /* -対応状況管理           */

,.authority_* #navi-products                /* 商品管理                 */
,.authority_* #navi-products-index          /* -商品マスター           */
,.authority_* #navi-products-product        /* -商品登録               */
,.authority_* #navi-products-uploadcsv      /* -商品登録CSV            */
,.authority_* #navi-products-class          /* -規格管理               */
,.authority_* #navi-products-category       /* -カテゴリー登録         */
,.authority_* #navi-products-category       /* -カテゴリー登録CSV      */
,.authority_* #navi-products-maker          /* -メーカー登録           */
,.authority_* #navi-products-rank           /* -商品並び替え           */
,.authority_* #navi-products-review         /* -レビュー管理           */

,.authority_* #navi-total                   /* 売上集計                 */
,.authority_* #navi-total-term              /* -期間別集計             */
,.authority_* #navi-total-products          /* -商品別集計             */
,.authority_* #navi-total-age               /* -年代別集計             */
,.authority_* #navi-total-job               /* -職業別集計             */
,.authority_* #navi-total-member            /* -会員別集計             */

,.authority_* #navi-mail                    /* メルマガ管理             */
,.authority_* #navi-mail-index              /* -配信内容設定           */
,.authority_* #navi-mail-template           /* -テンプレート設定       */
,.authority_* #navi-mail-history            /* -配信履歴               */

,.authority_* #navi-contents                /* コンテンツ管理           */
,.authority_* #navi-contents-index          /* -新着情報管理           */
,.authority_* #navi-contents-recommend      /* -おすすめ商品管理       */
,.authority_* #navi-contents-file           /* -ファイル管理           */
,.authority_* #navi-contents-csv            /* -CSV出力項目設定        */
,.authority_* #navi-csv-product             /* |-商品管理              */
,.authority_* #navi-csv-customer            /* |-会員管理              */
,.authority_* #navi-csv-order               /* |-受注管理              */
,.authority_* #navi-csv-category            /* |-カテゴリ              */
,.authority_* #navi-csv-review              /* |-レビュー              */
,.authority_* #navi-csv-sql                 /* |-高度な設定            */

,.authority_* #navi-design                  /* デザイン管理             */
,.authority_* #navi-design-pc               /* -PC (id 追加)                    */
,.authority_* #navi-design-pc-layout        /* |-レイアウト設定(id 修正)        */
,.authority_* #navi-design-pc-main          /* |-ページ詳細設定(id 修正)        */
,.authority_* #navi-design-pc-bloc          /* |-ブロック設定(id 修正)          */
,.authority_* #navi-design-pc-header        /* |-ヘッダー/フッター設定(id 修正) */
,.authority_* #navi-design-pc-css           /* |-CSS設定(id 修正)               */
,.authority_* #navi-design-pc-template      /* |-テンプレート設定(id 修正)      */
,.authority_* #navi-design-pc-add           /* |-テンプレート追加(id 修正)      */
,.authority_* #navi-design-mobile           /* -モバイル(id 追加)               */
,.authority_* #navi-design-mobile-layout    /* |-レイアウト設定(id 修正)        */
,.authority_* #navi-design-mobile-main      /* |-ページ詳細設定(id 修正)        */
,.authority_* #navi-design-mobile-bloc      /* |-ブロック設定(id 修正)          */
,.authority_* #navi-design-mobile-header    /* |-ヘッダー/フッター設定(id 修正) */
,.authority_* #navi-design-mobile-css       /* |-CSS設定(id 修正)               */
,.authority_* #navi-design-mobile-template  /* |-テンプレート設定(id 修正)      */
,.authority_* #navi-design-mobile-add       /* |-テンプレート追加(id 修正)      */
,.authority_* #navi-design-sphone           /* -スマートフォン(id 追加)         */
,.authority_* #navi-design-sphone-layout    /* |-レイアウト設定(id 修正)        */
,.authority_* #navi-design-sphone-main      /* |-ページ詳細設定(id 修正)        */
,.authority_* #navi-design-sphone-bloc      /* |-ブロック設定(id 修正)          */
,.authority_* #navi-design-sphone-header    /* |-ヘッダー/フッター設定(id 修正) */
,.authority_* #navi-design-sphone-css       /* |-CSS設定(id 修正)               */
,.authority_* #navi-design-sphone-template  /* |-テンプレート設定(id 修正)      */
,.authority_* #navi-design-sphone-add       /* |-テンプレート追加(id 修正)      */
,.authority_* #navi-system                  /* システム設定             */

,.authority_* #navi-system-index            /* -メンバー管理           */
,.authority_* #navi-system-bkup             /* -バックアップ管理       */
,.authority_* #navi-system-parameter        /* -パラメーター設定       */
,.authority_* #navi-system-masterdata       /* -マスターデータ管理     */
,.authority_* #navi-system-adminarea        /* -管理画面設定           */
,.authority_* #navi-system-system           /* -システム情報           */
,.authority_* #navi-system-plugin           /* -プラグイン管理         */
,.authority_* #navi-system-log              /* -EC-CUBE ログ表示       */
,.authority_* #navi-system-editdb           /* -高度なデータベース管理 */

,.authority_* #navi-ownersstore             /* オーナーズストア         */
,.authority_* #navi-ownersstore-index       /* -購入商品一覧           */
,.authority_* #navi-ownersstore-settings    /* -認証キー設定           */
,.authority_* #navi-ownersstore-log         /* -ログ管理               */

使用方法についての詳細はまた。