今回はWebflow内の機能である、コンポーネントプロパティについて詳しく解説していきます。
注記
この記事の手順を行う前に、「コンポーネント機能の使い方」の記事を読んで理解を深めましょう。
Webflowでは、コンポーネントプロパティを使用するとコンポーネントインスタンス上の一意の値を使用して変更できるコンポーネント内の特定の要素を定義できます。
これは、構造は均一であるが各インスタンスに固有のコンテンツを持つ必要がある、繰り返しレイアウトパターンに最適です。
異なるコンポーネントインスタンスで特定の要素を非表示または表示して、構造をわずかに調整する必要がある場合があります。
注記
コンポーネントの各インスタンスにまったく同じコンテンツがある場合 (ナビゲーション バー、フッター、一部のフォームなど)、そのコンポーネントの要素に対してコンポーネントプロパティを作成する必要はありません。
サポートされているコンポーネント プロパティは次のとおりです。
注記
コンポーネントインスタンスのスタイルを変更するには、class
カスタム属性を使用します。
Content propertiesを使用すると、コンポーネントインスタンス内の要素コンテンツをカスタマイズできます。
たとえば、サイト全体の複数のページで使用するヒーローセクションデザインがあるとします。
デザイン構造は同じままにする必要がありますが、各コンポーネントインスタンスには異なる段落コンテンツが必要です。
段落のContent propertiesを作成し、サイト上のヒーローセクションが表示される場所でその段落コンテンツを変更できます。
サポートされている要素は次のとおりです。
Visibility propertiesを使用すると、特定の要素を表示または非表示にすることで、さまざまなコンポーネントインスタンスにレイアウトのバリエーションを作成できます。
たとえば、ナビゲーションバー コンポーネント内のリンクやボタンを表示したり非表示にしたりすることで、ナビゲーションバーのバリエーションを作成できます。
または、さまざまなアイコンを表示したり非表示にしたりすることで、ボタンのバリエーションを作成することもできます。
コンポーネント内の画像、ビデオ、ボタン、リンクなど、複数の異なる要素を表示したり非表示にしたりすることで、セクション全体のバリエーションを作成することもできます。
可視性プロパティはすべての要素で使用できます。
ヒント
コンポーネントインスタンスで非表示の要素を選択できない場合は、ナビゲーターを開き、コンポーネントの要素階層内から非表示の要素を選択します。
ナビゲーターパネルでコンポーネント階層を展開すると、コンポーネント内の非表示の要素を見つけることができます。
非表示の要素は、「取り消し線の付いた目」アイコンで示されます。
知っておくと良いこと
「非表示」に設定された要素は、ドキュメント オブジェクトモデル (DOM) の順序から削除されます。
DOMの順序はサイトの論理構造と、そのアクセス方法および操作方法を指定するため、非表示のコンポーネント要素は支援技術によって読み取られず、サイト訪問者にとってよりアクセスしやすいエクスペリエンスが促進されます。
また、重複コンテンツが排除され、SEOに悪影響を及ぼしません。
コンポーネントインスタンスのプロパティ値を変更するには、まずメインコンポーネントにコンポーネントプロパティを作成する必要があります。
その後、これらのメインコンポーネントプロパティをオーバーライドして、さまざまなコンポーネントインスタンスにカスタムコンテンツを作成できます。
メインコンポーネントに新しいプロパティを作成し、同時にそのプロパティをコンポーネント内の特定の要素に接続することができます。
または、メインコンポーネントに直接コンポーネントプロパティを作成し、後で要素に接続することもできます。
メインコンポーネントに新しいプロパティを作成し、そのプロパティをコンポーネント内の特定の要素に直接接続することができます。
新しいプロパティを作成して要素に接続するには、次の手順を実行します。
Propsパネルからメインコンポーネントにコンポーネントプロパティを作成するには以下の手順を実行します。
次に、プロパティを要素に接続するには、次のようにします。
注記
新しいプロパティは、コンポーネント要素を接続するまで切断されたままになります。
プロパティを作成するときに、プロパティグループを作成できます。
グループ名を編集するには、Propsパネルに移動し、編集するグループ名の横にある「」アイコンをクリックして、「Rename」をクリックします。
グループを削除するには、Propsパネルに移動し、編集するグループ名の横にある「3 つのドット」アイコンをクリックして、「Delete」をクリックします。グループ名を削除しても、グループ内のプロップは削除されないことに注意してください。
プロパティを作成したら、メインコンポーネントを終了して個々のコンポーネントインスタンスに戻ります。
そこで、コンポーネントプロパティの値を変更して、インスタンス上のコンテンツや表示をカスタマイズできます (つまり、コンポーネント インスタンス内の特定の要素に固有のコンテンツを作成できます)。
注記
コンポーネン インスタンスのスタイルを変更するには、class
カスタム属性を使用します。
コンポーネントインスタンスは、次の 2 つの方法で変更できます。
コンポーネントプロパティ内の静的コンテンツを編集する最も簡単な方法は次のとおりです。
選択したコンポーネントインスタンス内の要素の値をキャンバス上で直接編集することもできます。
コンポーネントをクリックし、コンポーネントインスタンス内で編集する要素をダブルクリックします。
コンポーネントプロパティに接続されている要素は、コンポーネント インスタンス内のキャンバス上で点線の緑色のアウトラインで示されます。
コンポーネントのプロパティをデフォルト値に戻すには、すべてのプロパティを一度にリセットするか、個別にリセットするかを選択できます。
すべてのプロパティを一度にデフォルト値にリセットするには
単一のプロパティをデフォルト値にリセットするには:
一貫したデザインを維持しながら、さまざまなCMSコレクションページ間でレイアウトを再利用するには、メインコンポーネントからリンクを解除せずに、コンポーネントインスタンスに CMS コレクションデータを接続して表示することもできます。
プロパティを次のCMSフィールドに接続できます。
コンポーネント プロパティをコレクション フィールドデータに接続するには、サイトにコレクションをすでに作成しておく必要があることに注意してください。
CMSコレクションとコレクションフィールドの詳細については、こちらをご覧ください
コレクションページの CMSコレクションデータにコンポーネントプロパティを接続するには
コンポーネントインスタンスには、選択したコレクション フィールドの内容が表示されます (コレクション フィールドにコレクション内のデータが入力されている場合)。
コレクション フィールドから要素を切断するには
コンポーネントのプロパティを管理するには、メイン コンポーネントに入ります。
[Props] パネルでは、メイン コンポーネントのプロパティのリストが表示され、要素の接続を決定したり、デフォルトの設定や値を調整したり、プロパティの順序を変更したり、削除したりできます。
デフォルトでは、コンポーネントのプロパティは、作成された順序でプロパティパネルに表示されます。
プロパティをクリックしてドラッグすると、任意の順序に並べ替えることができます。
メイン コンポーネントのプロパティを削除するには、メイン コンポーネントに移動し、プロパティパネルに移動して、「ゴミ箱」アイコンをクリックします。
プロパティが 1 つまたは複数のコンポーネント要素にまだ接続されている場合は、プロパティを削除すると、コンポーネント要素から切断されます。
接続されているプロパティの内容はプロパティを削除すると失われ、設定したデフォルト値に置き換えられます。
メイン コンポーネントから要素を削除すると、他のコンポーネント インスタンス内の対応する各要素も削除されます (コンポーネント プロパティを介して一意のコンテンツに変更されている場合でも)。
ただし、コンポーネント プロパティとそれに適用される値は、各インスタンスに残ります (そのプロパティに元々接続されていた要素が削除されている場合でも)。
その後、新しい要素または既存の要素をそれらのプロパティに接続できます。
それらの要素には、以前に設定されたプロパティに適用された値 (更新されたテキスト コンテンツ、画像、visilityなど) が反映されます。
注記
新しいプロパティは、コンポーネント要素を接続するまで切断されたままになります。
メイン コンポーネントを編集するときに、Propsパネルでプロパティを切断できます。コンポーネント要素からプロパティを切断するには、次の手順を実行します。
注記
プロパティが複数の要素に接続されている場合は、接続されている要素ごとに切断プロセスを繰り返す必要があります。
会社名
Funwork株式会社
所在地
東京都千代田区東神田3-4-12
代表者
堀尾 尭史
電話番号
メール
03-5809-2979
backoffice@funwork2020.com
URL
設立日
2020年5月18日
資本金
9,000,000円
取引銀行
きらぼし銀行
Webサイト、ITサービス受託開発
マーケティングコンサル事業
シェアオフィス及びコワーキングスペースの運営