【Rails】Fat Free CRMでのタブの増やし方【顧客管理gem】

fatfreecrm

こんにちは。

Rails製の顧客管理システムGem、FatFreeCRMをつかった開発をしています。

FatFreeCRMはデフォルトで色々タブを用意してくれていて、CRMでよく使う「顧客」とか「決済」などは既に存在しますが、今回新たに「お知らせ」タブを追加するような場面に直面したので、実装方法をメモしておきます。

タブの増やし方

今回はNewsタブという形で追加したいと思います。

news_controllerの作成

まずはnews_controllerを作成

# rails generate controller news
      create  app/controllers/news_controller.rb
      invoke  erb
      create    app/views/news
      invoke  test_unit
      create    test/controllers/news_controller_test.rb
      invoke  helper
      create    app/helpers/news_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/news.coffee
      invoke    scss
      create      app/assets/stylesheets/news.scss

routes.rbに追記

とりあえず既存のcampaignをパクって以下のような感じにしました

 resources :news, id: /\d+/ do
  collection do
   get :advanced_search
   post :filter
   get :options
   get :field_group
   match :auto_complete, via: %i[get post]
   get :redraw
   get :versions
  end
  member do
   put :attach
   post :discard
   post :subscribe
   post :unsubscribe
   get :leads
   get :opportunities
 end
end

setting.default.yml

setting.default.ymlの:tabsに以下を追加

- :active: false
  :text: :tab_news
  :icon: :fa-newspaper-o
  :url:
    :controller: news
  • active => trueのものが活性表示される
  • url => タブを押した際の遷移先
  • text  =>  表示したい文言をja.ymlに登録しておいて表示
  • icon  =>  font-awesomeのもの

FatFreeCRMではFont AwesomeのV4を利用しています。最新のものを利用する場合には少し工夫が必要だったので、今回はおとなしくV4からアイコンを選びました。

ja.ymlにタブの日本語化テキストを追加

日本語化対応を施している場合、config/locales/ja.ymlから対応する日本語テキストを追加できます。

今回は「tab_news」を追加したのでこちらを「お知らせ」に変換してもらいましょう。

# Settings.
#--------------------------------------------------------
tab_news: お知らせ
サーバーを再起動するとsetting.default.ymlを再読み込みし、タブの追加が完了します。

お疲れ様でした。

まとめ

fatfreecrm

 

FatFreeCRMにおける、タブの作成方法を紹介いたしました。

今回は流石に内容がニッチすぎますかね??

導入すれば顧客管理機能を一気に実現できる便利Gemですが、作りが複雑で修正が難しいです。

[News]タブを開いた後の動きをこれから追加していきますが、ビューは標準でHamlですしファイル構造も難解なので、この先も課題は多そうです……。

今回はここまで。tips溜まったらまた共有します。

 

コメントを残す

メールアドレスが公開されることはありません。