tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Lightning Component Tabs

Lightningで開発したアプリはWinter'15のバージョンではSalesforce1上でのみ使用することが可能です。SalesforceのPC向けページでは使用することができません。


Salesforce1で使用するにはカスタムタブを用意する必要があります。Lightningを有効化すると、タブの作成画面にLightningのタブを作成するための設定が追加されます。

f:id:tyoshikawa1106:20141020015527p:plain


試しにタブを作成しようとしてみたところ、作成したはずのLightningアプリが一件も選択できませんでした。

f:id:tyoshikawa1106:20141020022812p:plain


現時点ではベータ版のためタブ作成はできなのかと思ったのですが、次のリンク先で対応方法が説明が載っていました。

Adding Lightning Components to Salesforce1

タブ作成の対象コンポーネントにしたい場合は、以下のように『implements』を宣言する必要があるみたいです。

<aura:component implements="force:appHostable">

これを宣言することでタブ作成の対象として扱われるようになりました。
f:id:tyoshikawa1106:20141020020117p:plain:w300

f:id:tyoshikawa1106:20141020020418p:plain


これでSalesforce1のモバイルナビゲーション設定画面からタブを指定できるようになります。

f:id:tyoshikawa1106:20141020022021p:plain


ちなみに必要かはわかりませんが、aura:applicationタグでもimplementsを指定することができました。

<aura:application implements="force:appHostable">


ひとまずこの設定でSalesforce1のナビゲーションメニューにタブを追加できます。

f:id:tyoshikawa1106:20141020022144p:plain


実際にタブを選択して画面に表示したのがコチラです。

f:id:tyoshikawa1106:20141020022341p:plain


Bootstrapの読み込みはコンポーネント外で行っていたのでレイアウトが崩れています。コンポーネントのタブでなくアプリケーションのタブじゃないと意味ないかなと思ったのですが、Lightningはコンポーネント単体で動作するように考える必要があるのでBootstrapの読み込み等もコンポーネント内で行う必要があるのかなという気もしました。


今回の設定ではアプリーケーションのタブを作ることは出来ませんでした。他に方法があるかはまだわかっていません。とりあえずコンポーネントのタブをつくる方法まではわかったので良かったです。