19 April 2021 / Published in TechBlogs
Googleやその他の検索エンジンでの検索結果の表示方法を改善することは、ユーザーをサイトに誘導するために最も重要です。このブログ記事では、SitecoreのSXAを使って、検索結果にレビュースコアを表示する方法をご紹介します。これはどのようにしてビジネスを促進するのでしょうか?また、なぜこのような情報をユーザーに表示するのでしょうか?私の同僚であるMegan Jensenのブログ(こちら)で、その理由を科学的に説明しています。 この「ロード・オブ・ザ・リング」のGoogle検索結果では、星評価のグラフィック、総合評価、平均8.8/10のレビューの総数が表示されています。これらの情報は、Googleが魔法のように引き出してくれるわけではありません。あなたは、Googleが情報を消化できるように、これらのレビュースコアを伝える必要があります。 1. Schema.NETを使って最終目的を達成する Schema.orgは、ウェブページで使用するためのさまざまなプロパティを持つ何百ものオブジェクトを作成しています。この構造化されたデータは、GoogleやBingをはじめとする一般的なアプリケーションによって認識されます。これらのアプリケーションが利用できるオブジェクトを作成することで、これらのアプリケーションでのオンラインプレゼンスを高めることができます。Schema.NETは、これらのオブジェクトのC#バージョンを持つ適用可能な.NETライブラリです。このライブラリは、これらのオブジェクトをJSON/JSON-LDにシリアライズするために使用されます。シリアライズ後は、ページの<head>要素にオブジェクトを配置します。このようにして、データはこれらの他のアプリから消費できるようになります。 ステップ1 – Sitecoreでコントローラのレンダリングを作成する /sitecore/layout/renderingsの下に、上のスクリーンショットのようなコントローラのレンダリングを作成します。私のコントローラは、FeatureレイヤーのMetadataプロジェクトに置かれます。 ステップ 2 – <head>に出力されたパーシャルにレンダリングを追加する 「メタデータ」というタイトルのパーシャルデザインを、/sitecore/content/<your-tenant>/<your-site>/presentation/partial designsの下に作成します。プレゼンテーションの詳細に、ステップ1で新しく作成したレンダリングを追加します。必ず、レイアウトの<head>要素で出力されるプレースホルダーに配置してください。次に、このMetadataパーシャルデザインを、/sitecore/content/<your-tenant>/<your-site>/presentation/page designsの下にあるメタデータを出力したいページデザインアイテムに追加します。 ステップ3 – コントローラ、リポジトリ、モデル、およびビューの設定 NuGet経由でSchema.NETパッケージをインストールします。 そして、JSON-LD文字列のメタデータを格納するために、上記のようなモデルを作成します。 モデルを作成した後、上記のようにコントローラを作成します。ステップ1で作成したコントローラのレンダリングでは、Indexメソッドを呼び出していることを思い出してください。このIndexメソッドは、SXAが提供するオブジェクトであるStandard Controllerにあります。IAbstractRepositoryインターフェイスもSXAが提供しています。先ほど作成したSchemaMarkupModelをハイドレートするためにGetModel()メソッドをオーバーライドすることになります。 次に、コントローラの GetModel() メソッドの実装に使用するリポジトリを作成する必要があります。上のリポジトリでは IContext を注入する必要があります。これは、現在のページアイテムを取得して、そのページの JSON-LD データをカスタマイズするために使用します。ページアイテムを取得する必要がない場合は、IContext を省略することができます。次のステップでは、GetJsonLD()メソッドを実装します。 最後に、作成しているJSON-LDオブジェクトを出力するビューを作成します。このメタデータは、タグの中に出力します。</p> ステップ4 – Schema.NETオブジェクトの作成とシリアライズ Googleの検索結果にレーティングを表示するための最後のステップは、前のステップのGetJsonLd()メソッドを実装することです。この実装では、使用するSchema.NETオブジェクトを決定する必要があります。利用可能なオブジェクトの種類については、こちらを参照してください。最初の例に引き続き、2001年の映画「ロード・オブ・ザ・リング」を表すMovieオブジェクトを作成します。 上記のコードは、私のページの要素にこれを出力します。 評価を表示するアイテムを表すのに最適なSchema.NETオブジェクトを使用する必要があります。本の評価を表示する場合は、Bookオブジェクトを使用します。特定のオブジェクトが存在しない場合は、汎用のProductオブジェクトを使用します。企業のレーティングを表示する場合は Organizationオブジェクトを使用します。Schema.NETでは、メタデータをマークアップするために様々なオブジェクトを使用することができます。ただし、注意していただきたいのは、ページ上のコンテンツを誤解させるようなメタデータの配置は避けてください。検索エンジンは、ページのコンテンツと一致しない間違ったメタデータを故意または無意識に追加している場合、検索スコアにペナルティを課します。
14 April 2021 / Published in TechBlogs
1. 定義: Sitecore SXA Sitecore® Experience Acceleratorは、再利用可能なテンプレート化されたUXレイアウトやコンポーネントを提供し、短期間での運用を可能にします。 Sitecore JSS Sitecore JavaScript Services (JSS)は、Sitecoreと最新のJavaScript UIライブラリやフレームワークを使用して本格的なソリューションを構築することができる、JavaScript開発者向けの完全なSDKです。 Sitecore JSSはSDKであり、Sitecore SXAはあらかじめ組み込まれたコンポーネント、テンプレート、レイアウトのセットです。 Sitecore SXAを使用すると、ドラッグ&ドロップで簡単にページコンポーネントを変更することができます。組み立て済みのコンポーネント、テンプレート、レイアウトを再利用できます。コンテンツチームは、直感的なツールを使用して、少ないリソースで短時間にWebコンテンツを作成し、編集し、チャネル間で展開することができます。 Sitecore JSSでは、ヘッドレスのSitecoreアプリケーションを構築したり、エクスペリエンスエディタを継続して使用したり、Sitecore Experience Platformが提供するすべてのマーケティングツールを使用することができます。 2. どのようにレンダリングされているのか? Sitecore JSSは、JavaScript(Node.js)を使用して動作します。 Sitecore SXAはMVCレンダリングで動作します。 3. どのような場合にこの2つを利用すべきなのでしょうか? 私はSitecore JSSの大ファンなので、Sitecore JSSから始めることをお勧めしますが、その理由は以下の通り: Sitecore JSSは、JavaScript開発者のための完成されたSDKです。 Sitecoreがインストールされていなくても開発を始めることができます。つまり、開発者はSitecoreインスタンスをインストールすることで忙しいことを伝えずに、アプリケーションの開発を始めることができます。これはコードファーストワークフローと呼ばれています。 フロントエンドアプリケーションをLinuxで動作させてコストを削減したい。 A/Bテスト、アナリティクス、パーソナライゼーションなどのSitecoreマーケティングツールをマーケティングチームに残しておきたい。 ヘッドレスアプリケーションを作りたい PWAを作りたいと思っている。 ウェアラブルデバイス、IOTデバイス、キオスク端末向けのアプリを構築し、すべてを一箇所で管理し、すべてのオムニチャネルをパーソナライズしたい。 React、Angular、VUE、React Native、Svelte(Sitecoreの公式サポートではありません)の中から選択できます。 そんなことはどうでもいい」とお考えの方に、SXAをご利用いただく理由をご紹介します。 Sitecore SXAは、Sitecoreの上にインストールする必要のあるコンポーネントです。 ツールボックス – コンポーネントやレイアウトがあらかじめ用意されており、再利用することができます。 ここまでで、この2つの違いを理解していただけたと思います。この2つは互いに競合するものではなく、Webサイトを構築する方法としては全く異なるものだからです。 一方は、Toolboxに構築済みのコンポーネントを使用し、もう一方は、NodeJS上で動作するフロントエンドアプリケーションを構築することができます。  
13 April 2021 / Published in TechBlogs
多言語のウェブサイトは、多くの言語を持つことができる グローバル企業では、sitecoreのプロジェクトで何十もの言語を使うことがあります。 ウェブサイトでは、プロジェクトごとに異なる言語セットを使用することが多い マルチサイト環境のsitecoreに新しいサイトが追加されると、各サイトが独自の言語セットを使用する可能性が高くなります。各サイトが独自の言語セットを使用する可能性が高くなります。その理由としては、一部の国でしか提供されていない商品やサービスのサイトであることや、コンテンツがまだ公開できていないことなどが考えられます。 新しいドメインには設定変更が必要 サービスや製品のWebサイトは独自のドメインを持っていることが多いので、追加のサイト構成、IIS、DNSが必要です。事前に設定を準備して、sitecoreでいくつかの設定を行い、リリースが公開されたときに、新しい言語を許可する設定を公開することができます。 …または、私たちが行ったように、サイト構成をカスタマイズすることもできます。 サイト設定に新しい属性availableLanguagesを追加 サイトの言語が公開されるタイミングを正確にコントロールできるように、構成の調整を選択しました。このために、サイト構成に新しい属性availableLanguagesを追加しました。そのため、新しい言語が公開されたときに、sitecoreから何かを変更して公開する必要はありません。 もちろん、サイトコアはそのような属性を知りませんが、SiteContextを拡張するためのエクステンションメソッドを簡単に追加することができます。 Site Context Decoratorのソースコード ご覧のコードは、わかりやすくするために簡略化されています。何をしているかというと availableLanguages属性を読み込んで、言語オブジェクトのリストを返します。この方法で、利用可能なすべての言語を簡単に調べることができます。 例えば、1つのドメインで複数の言語のサイトを運営していて、robots.txtファイルを生成したい場合、利用可能なすべての言語を繰り返し処理して、それぞれのsitemap.xmlファイルにリンクを追加することができます。 また、最も一般的な使い方は、言語スイッチャーコンポーネントで、サイト構成で指定された言語のみを許可するようにすることです。
Sitecore-Unveils-SaaS-Strategy_-Announces-Updates-to-Experience-Platform-and-Content-Hub-at-Symposium-20191
13 April 2021 / Published in TechBlogs
Sitecoreでは、HTMLキャッシュはページ全体ではなくレンダリング/コンテンツ(またはページの一部)をキャッシュするために使用され、通常、HTMLキャッシュはWebサイトのパフォーマンスを向上させるために役立ちます。通常、HTMLキャッシュはウェブサイトのパフォーマンスを向上させるために役立ちます。 Sitecore 10.1では、さまざまなシナリオに対応したキャッシュおよびキャッシュクリア戦略が用意されていますが、キャッシュクリア戦略をより柔軟に設定できる新しいオプションが追加されました。 設定の変更が不要なすべてのキャッシュオプションから始めて、これらのオプションがどのようなものか、その使用例を概観してみましょう。 1. アイテムに直接設定こと Sitecoreでキャッシュを有効にするには、アイテムのプレゼンテーションの詳細(この特定のアイテムにのみキャッシュを適用する場合)、またはこのレンダリングを使用するすべてのアイテムに設定する場合は、レンダリングにアクセスするだけです。 Content Editor > Page Item > Presentation Details > Click on the rendering このオプションは、この1つのアイテムと1つのインスタンスに対してのみ機能します。これは一般的には推奨されず、通常はコンテンツ作成者が知る必要のないことだと思われます。 2. レンダリングに直接 Content Editor> “sitecore/layout/Renderings/*”キャッシュを設定するレンダリングを選択します。 このレンダリングを使用するすべてのページアイテムは、ページアイテムで直接オーバーライドしない限り、この設定を使用します。これにより、キャッシングがサイト全体に一貫して適用され、期待通りの動作をするようになります。また、後から変更を加えると、コンポーネントのすべてのインスタンスに自動的に反映されます。 キャッシュ設定の場所がわかったところで、オプションといくつかの使用例を見てみましょう。 3. キャッシュ可能 これは、基本的にSitecoreに「このコンポーネントはキャッシュされるべきである」と伝えます。キャッシュを使用するには、このオプションを有効にする必要があります。Vary byオプションを有効にするには、このオプションを有効にする必要があります。この設定を有効にするだけで、Sitecoreはこのレンダリングに対してキャッシュを作成し、コンポーネントがすべてのページで使用されるたびに同じコンテンツを表示するために使用します。たとえば、ページのヘッダーにユーザー名を表示している場合、このレンダリングをキャッシュすることはできず、レンダリング時にすべてのユーザーが同じ名前になってしまいます。例えば、このようなコンポーネントがある場合、それを直接キャッシュすることはできません。 4. データによって変化すること これは、Sitecoreがこのレンダリングのデータソース(データソースが設定されていない場合は、現在のコンテキストアイテム)に基づいてキャッシュすることを意味します。これは、フッター、ヘッダー、プライバシー、その他の規約ページなど、あまり変更されないコンテンツ/レンダリングがある場合や、データソースに基づいてタイトルや画像を含むカードリストなどのコンポーネントがある場合に非常に便利です。コンポーネントは、現在のサイト、言語、レンダリングID、アイテムIDで構成される固有のキャッシュキーに基づいてキャッシュされます。同じレンダリングであっても、データソースが別のアイテムである場合は、このコンポーネント用に新しいキャッシュが作成されます。 5. デバイスによって異なること ここでのコンセプトは上記とほぼ同じですが、ここではSitecoreに異なるデバイス用に異なるキャッシュエントリを作成するように言っています。最近はほとんどのサイトがレスポンシブになっているので、あまり使われていないのかもしれません。 6. ログインによって異なること これを選択すると、Sitecoreはこのレンダリングの2つのコピーをキャッシュします。1つは認証されたユーザー用、もう1つは認証されていないユーザー用です。これは、ログインしたユーザーと匿名のユーザーに異なるコンテンツを提供する場合に便利です。 7. パラメータによる変更こと これは、「レンダリングパラメータ」に基づいてコンテンツの異なるコピーをキャッシュするようSitecoreに指示します。Sitecoreのパラメータを使用して、コンテンツの表示方法を変えたい場合に便利です。例えば、ここに色を追加したり、レンダリングパラメータテンプレートを使用して、これに基づいてレンダリングを作成したりする場合に便利です。 8. クエリ文字列によって変化させる これを選択すると、Sitecoreはクエリ文字列ごとに異なるデータをキャッシュします。したがって、クエリ文字列に基づいてレンダリングするページがある場合、たとえば検索ページでは、検索テキスト、結果ページ、および選択したフィルタをクエリ文字列として使用できます。 9. ユーザーごとの表示 Sitecoreでは、キャッシュを使用したいが、異なるユーザーの情報を表示する必要がある場合に、その問題を解決する方法を提供しています。例えば、ヘッドで認証されたユーザーの名前などを表示する場合、Sitecoreは表示された各ユーザーのキャッシュを作成します。しかし、このオプションには注意が必要です。サイトに多くのユーザーがいる場合、キャッシュのサイズが非常に大きくなる可能性があります。 Sitecore 10.1では、様々な方法でコンテンツをキャッシュする機能が用意されており、ほとんどのサイトで使用されている基本的な機能が網羅されていますが、必要に応じて拡張し、キャッシュを作成するための新しいルールを(プログラムで)作成することができます。ここで、もう1つのチェックボックスについて説明します。これは、キャッシュがいつ更新され、Sitecoreがいつクリアして新しいキャッシュエントリを作成するかというもので、基本的には2つのオプションがあります。 10. インデックス更新時のクリア Sitecoreは、インデックスの更新時にキャッシュをクリアします。これは、検索関連のページなど、インデックスに依存してレンダリングされるコンテンツを使用している場合に非常に便利です。 11. キャッシュクリアの動作:Sitecore 10.1の新しいアプローチ Sitecore 10.1では、パブリッシュが発生したときにキャッシュを部分的にクリアする機能が追加されました。このオプションを使用すると、Sitecoreに、公開ごとにキャッシュをクリアする、または関連するコンテンツアイテムが公開された場合にのみキャッシュをクリアするといった動作を指示することができます。また、パブリッシュ時にキャッシュをクリアするだけでなく、このコンポーネントの構築時に使用された可能性のある関連アイテム間の依存関係を設定することもできます。使用例としては、ヘッダーやフッターのコンポーネントがあります。これらのコンポーネントは、構築するために多くのアイテムに依存しているため、パブリッシュのたびにクリアすることができます。しかし、ヒーローコンポーネントのような別のコンポーネントは、Datasource アイテムが更新されてパブリッシュされたときにのみ、キャッシュから削除する必要があります。もう1つの新機能は、コンテンツの依存関係を作成してこのキャッシュをクリアできることです。これにより、関連するアイテムがパブリッシュされたときに、プログラムによる作業なしにクリーニング戦略を改善できる可能性があります。 この記事では、Sitecore 10.1に搭載されているキャッシュ戦略と、その使用例について説明します。キャッシュは便利なだけではなく、Sitecoreサイトで訪問者に最高のパフォーマンスを提供するためには重要です。Sitecoreの各種キャッシュは、おそらくパフォーマンス問題に関連する最も重要なものの1つです。したがって、問題が発生している場合は、キャッシュが正しく設定されていることを確認する必要があります。また、将来的に問題を回避したい場合は、開発時にこの設定が計画されていることを確認してください。もしそうしていないのであれば、キャッシュされるコンテンツを変更したり、改善したり、より多くのキャッシュ戦略を追加することは難しいことではないということです。
06 April 2021 / Published in Sitecore, TechBlogs
1. バックオフィスへのメール送信 これまでSitecore FormsやSFEエクステンションを使ってメールを送信するには、EXMを使用していました。EXMは、顧客へのメールを作成したり、スタイルを設定したり、追跡したりするのに最適なツールですが、バックオフィスへのシンプルなメールを送信するには、ちょっとやりすぎの感があります。また、EXMを使用するにはSitecore XPが必要で、XM版では使用できません。 Sitecoreの最新バージョンでは、フォームの送信アクションとして軽量のメールエディタが搭載されています。件名、宛先、本文を指定するという基本的な機能の他に、フォームに入力された値を挿入することもできます。 2. アドレス帳の管理 Sitecoreフォームの新しいメールオプションでは、メールの送信元となるメールアドレスを選択できます。コンテンツ編集者が使いやすいように、送信元フィールドはあらかじめ定義された値を持つドロップダウンとして表示されます。 これらの送信元フィールドの値はSitecoreのアイテムとして保存されているので、ビジネスに適したリストを作成することができます。アドレス帳は以下の場所にあります。 /sitecore/system/Settings/Forms/Meta Data/Address Book/Senders 3. 定義済みクラスによるフォームのスタイル設定 10.1では、フォームエディタでフィールドのスタイルを設定する際に、コンテンツエディタにスタイルのリストを提供して、その中から選択できるようになりました。 コンテンツエディターは、フィールドにどのようなスタイルクラスを追加すれば見栄えが良くなるかを知る必要がありますが、開発者は説明的な名前を持つスタイルのリストを提供することができます。 定義済みのスタイルは、手動で追加したスタイルクラスと混ぜ合わせることができます。 スタイルは、/sitecore/system/settings/forms/meta data/css class optionsに保存されます。別のフォルダに整理することができます。 また、/sitecore/system/settings/forms/field typesにある様々なコンポーネントにスタイルを割り当てることも忘れないでください。 4. サイトパフォーマンスの向上 フォームに付随するクライアントサイドスクリプトは、もはやhtml-headタグ内に読み込む必要はありません。これにより、スクリプトは下部に読み込まれるようになり、お客様のスピード感を向上させることができます。また、MVCOuterLayout.cshtmlの作成が不要になります。 ソース: doc.sitecore.com 5. Sitecore Forms Extensions 4.0がリリースされたこと 無料でご利用いただけるSitecore FormsのコミュニティモデルSFEがアップデートされ、最新のSitecoreに対応しました。SFEは、メール送信オプション、双方向の値のプロバイダ、google re-captchaコンポーネントなど、Sitecoreフォームに様々な機能を追加しています。 SC10.1では、SFE 4.0をインストールする必要があります。 SFE 4.0は、コンテナイメージ、Azure Paasモジュールパッケージ、および従来のSitecoreパッケージとして提供されています。また、SFEを拡張したい開発者のために、Nugetパッケージも提供されています。
add-a-new-language
06 April 2021 / Published in TechBlogs
ユーザーは、ブラウザの設定で言語設定を行うことができます。Sitecoreソリューションにこの設定を反映させたい場合は、Language Resolverプロセッサをオーバーライドすることで可能になります。 ここで重要なことは、ブラウザの言語設定とSitecoreの言語設定の間に、潜在的な違いがあることです。 Sitecoreでは、言語を追加する際に、OOTBで利用可能なすべての言語に国コードが含まれていることに気づく。 そのため、コンテンツは言語と国の両方で修飾されることになります。 しかし、ブラウザでは、国を指定して設定できる言語がある一方で、国コードなしでしか利用できない言語もあります。 このようなケースのほとんどは、Sitecoreでも1つの国でしか利用できない言語の場合ですが(例:ロシア語/ポーランド語)、そうでない場合もあります。ポルトガル語を例にとると、ブラウザ上では次のようなオプションが利用できます: Sitecoreの中では: この場合、ユーザーがブラウザの設定でポルトガル語だけを選択していて、Sitecoreサイトのポルトガル語コンテンツがポルトガルかブラジルのどちらかに特化している場合、どのようなコンテンツをユーザーに表示するのでしょうか? この機能をサイトに実装する場合、最初に行うのは、サイトで利用可能なSitecoreの言語と、サイトの最新/互換性のあるブラウザの対応するオプションをマッピングすることです。このマッピングと上記のシナリオに基づいて、この機能を実装する前に特定のビジネス上の意思決定を行う必要があるかもしれません。 参考までに、ポイント3では、私たちがこのソリューションとして実装したものをご紹介します。 実際の実装については、LanguageResolverのオーバーライドにロジックを追加することになります。 今回の実装で注意すべき点は以下の通りです。 1. ウェブサイトの特定のセクションやページでのみ言語リダイレクトを有効にするロジックを追加しました。これにより、ユーザーが初めてホームページにアクセスしたときにリダイレクトされるだけでなく、ユーザーがGoogleの検索結果などから直接アクセスした場合にも、設定されたとおりに特定の重要なセクション/ページでリダイレクトが機能するようになります。(IsRedirectEnabledPatternMatch) 2. ユーザーはブラウザの設定で複数の言語を設定することができます。これらの言語設定はすべてHttpContextを介して行われ、サイトに設定されているSitecoreの言語に応じて、これらの言語を順にループして最初にマッチしたものを返します。 3. 前述のシナリオ(国コードがなくてもブラウザで利用できる言語がある)については、Sitecoreの言語テンプレートに拡張機能を追加して、国コードがない言語に対して言語リダイレクトが機能するかどうかをコンテンツ作成者が選択できるようにしました。以下の例を考えてみましょう。 a. ユーザーのブラウザでポーランド語が選択されている場合、利用可能なオプションは国コードなしのポーランド語のみです。この場合、Sitecoreにリダイレクトを実行させたいと考えています。このため、新しいフィールド「Enable Language Detection By Iso」にチェックを入れました。これは、言語リゾルバのオーバーライドコードで使用され、国コードなしで使用される言語のリダイレクトを可能にします。 b. ユーザーのブラウザでポルトガル語が選択されている場合、Sitecoreではポルトガルやブラジルに特化したコンテンツが用意されているので、ユーザーをリダイレクトさせたくありませんでした。そのため、Sitecoreのpt-PTとpt-BRの両方で、このフィールド「Enable Language Detection By Iso」を無効にしました。こうすることで、ユーザーのブラウザに国別のポルトガル語が設定されている場合にのみ、リダイレクトが機能するようになりました。 4. 4. ブラウザの言語検出は、ブラウザの Cookie で言語が設定されていない場合にのみ行われます。これにより、ユーザーが別の言語でサイトを閲覧したいと思っても、私たちのコードはユーザーのブラウザ設定に基づいて強制的にリダイレクトさせることはありません。 5. 5. 上記のすべてに基づいて言語が一致し、ユーザーがリダイレクトされた場合、コードはコンテキスト言語を設定し、それによって言語クッキーも設定されます。それ以降のリクエストでは、言語クッキーが設定されているため、このコードは作動しません。 参考までにLanguageResolverをご紹介します: 設定については
06 April 2021 / Published in Sitecore, TechBlogs
Sitecoreでは、HTMLキャッシュはページ全体ではなくレンダリング/コンテンツ(またはページの一部)をキャッシュするために使用され、通常、HTMLキャッシュはWebサイトのパフォーマンスを向上させるために役立ちます。通常、HTMLキャッシュはウェブサイトのパフォーマンスを向上させるために役立ちます。 Sitecore 10.1では、さまざまなシナリオに対応したキャッシュおよびキャッシュクリア戦略が用意されていますが、キャッシュクリア戦略をより柔軟に設定できる新しいオプションが追加されました。 設定変更の必要がないすべてのキャッシュオプションから始めて、これらのオプションがどのようなものか、その使用例を概観してみましょう。 1.アイテム直接設定 Sitecoreでキャッシュを有効にするには、アイテムのプレゼンテーションの詳細(この特定のアイテムにのみキャッシュを適用する場合)、またはこのレンダリングを使用するすべてのアイテムに設定する場合は、レンダリングにアクセスするだけです。 以下のステップを順番に実施します。 コンテンツエディター>ページアイテム>プレゼンテーションの詳細>レンダリングクリック このオプションは、この1つのアイテムと1つのインスタンスに対してのみ機能します。これは一般的には推奨されず、通常はコンテンツ作成者が知る必要のないことだと思われます。 2.レンダリング直接アクセス Content Editor> “sitecore/layout/Renderings/*” キャッシュを設定したいレンダリングを選択します。 このレンダリングを使用するすべてのページアイテムは、ページアイテム上で直接オーバーライドしない場合、この設定を使用します。これにより、キャッシュがサイト全体に一貫して適用され、期待通りの動作をするようになります。また、後から変更を加えると、コンポーネントのすべてのインスタンスに自動的に反映されます。 キャッシュ設定の場所がわかったところで、オプションといくつかの使用例を見てみましょう。 3.キャッシュ可能 基本的に、このコンポーネントはキャッシュされるべきであるということをSitecoreに伝えます。「Vary by」オプションを有効にするには、このオプションを有効にする必要があります。この設定のみを有効にすると、Sitecoreはこのレンダリングに対してキャッシュを作成し、コンポーネントがすべてのページで使用されるたびに同じコンテンツを表示するために使用します。たとえば、ページのヘッダーにユーザー名を表示している場合、このレンダリングをキャッシュすることはできず、レンダリング時にすべてのユーザーが同じ名前になってしまいます。例えば、このようなコンポーネントがある場合、それを直接キャッシュすることはできません。 この問題を解決するために、Sitecoreはキャッシュを使い続けることができるように、次のようなオプションを提供しています。 4.データによって変化させること これは、Sitecoreがこのレンダリングのデータソース(データソースが設定されていない場合は現在のコンテキストアイテム)に基づいてキャッシュすることを意味します。これは、フッター、ヘッダー、プライバシー、その他の規約ページなど、あまり変更されないコンテンツ/レンダリングがある場合や、データソースに基づいてタイトルや画像を含むカードリストなどのコンポーネントがある場合に非常に便利です。コンポーネントは、現在のサイト、言語、レンダリングID、アイテムIDで構成される固有のキャッシュキーに基づいてキャッシュされます。同じレンダリングでも、データソースが別のアイテムである場合は、このコンポーネント用に新しいキャッシュが作成されます。 5.デバイスによる変化 ここでのコンセプトは上記とほぼ同じですが、ここではSitecoreに対して、デバイスごとに異なるキャッシュエントリを作成するように指示していますが、これはSitecoreで複数のデバイスを設定しているかどうかによって異なります。最近はほとんどのサイトがレスポンシブになっているので、あまり使われていないのかもしれません。 6.ログインによって異なること これを選択すると、Sitecoreはこのレンダリングの2つのコピーをキャッシュします。1つは認証されたユーザー用、もう1つは認証されていないユーザー用です。これは、ログインしたユーザーと匿名のユーザーに異なるコンテンツを提供する場合に便利です。 7.パラメータによる変更 これは、「レンダリングパラメータ」に基づいてコンテンツの異なるコピーをキャッシュするようSitecoreに指示します。Sitecoreのパラメータを使用して、コンテンツの表示方法を変えたい場合に便利です。例えば、ここに色を追加したり、レンダリングパラメータテンプレートを使用して、これに基づいてレンダリングを作成したりする場合に便利です。 8.クエリ文字列によって変化させること これを選択すると、Sitecoreはクエリ文字列ごとに異なるデータをキャッシュします。例えば、検索ページのように、クエリ文字列に基づいてレンダリングするページがある場合、テキスト検索、結果ページ、フィルタをクエリ文字列として選択した場合に使用できます。 9.ユーザーによる変更 Sitecoreでは、キャッシュを使用したいが、異なるユーザーの情報を表示する必要がある場合に、その問題を解決する方法を提供しています。例えば、認証されたユーザーの名前をヘッドなどに表示する場合、Sitecoreは表示されている各ユーザーのキャッシュを作成します。しかし、このオプションには注意が必要です。サイトに多くのユーザーがいる場合、キャッシュのサイズが非常に大きくなる可能性があります。 Sitecore 10.1では、様々な方法でコンテンツをキャッシュする機能が用意されており、ほとんどのサイトで使用されている基本的な機能が網羅されていますが、必要に応じて拡張し、キャッシュを作成するための新しいルールを(プログラムで)作成することができます。ここで、もう一つのチェックボックスについて説明します。これは、キャッシュがいつ更新され、Sitecoreがいつクリアして新しいキャッシュエントリを作成するかというもので、基本的には2つのオプションがあります。 10.インデックス更新時のクリア Sitecoreは、インデックスを更新したときにキャッシュをクリアします。これは、検索関連のページのように、インデックスに依存してレンダリングされるコンテンツを使用している場合に非常に便利です。 11.キャッシュクリアの動作:Sitecore 10.1での新しいアプローチ Sitecore 10.1では、公開時にキャッシュの一部のみをクリアする機能が追加されました。このオプションを使用すると、Sitecoreに、公開ごとにキャッシュをクリアする、または関連するコンテンツアイテムが公開された場合にのみキャッシュをクリアするといった動作を指示することができます。また、パブリッシュ時にキャッシュをクリアするだけでなく、コンポーネントの構築時に使用された可能性のある関連アイテム間の依存関係を設定することもできます。使用例としては、ヘッダーやフッターのコンポーネントがあります。これらのコンポーネントは、構築するために多くのアイテムに依存しているため、パブリッシュのたびにクリアすることができます。しかし、ヒーローコンポーネントのような別のコンポーネントは、Datasource アイテムが更新されてパブリッシュされたときにのみ、キャッシュから削除する必要があります。ここでのもう一つの新機能は、コンテンツの依存関係を作成してこのキャッシュをクリアすることができることです。これにより、関連するアイテムがパブリッシュされたときに、プログラムによる作業なしにクリーニング戦略を改善できる可能性があります。 この記事では、Sitecore 10.1に搭載されているキャッシュ戦略と、その使用例について説明します。キャッシュは便利なだけではなく、Sitecoreサイトで訪問者に最高のパフォーマンスを提供するためには重要です。Sitecoreの各種キャッシュは、おそらくパフォーマンス問題に関連する最も重要なものの1つです。したがって、問題が発生している場合は、キャッシュが正しく設定されていることを確認する必要があります。また、将来的に問題を回避したい場合は、開発時にこの設定が計画されていることを確認してください。もしそうしていないのであれば、キャッシュされるコンテンツを変更したり、改善したり、より多くのキャッシュ戦略を追加することは難しいことではないということです。
05 April 2021 / Published in TechBlogs
この記事に、Magento 2で評価を作成する方法をご紹介いたします。 Magento 2で評価を作成する手順 1.ステップ 1 Magentoの管理画面にログインします。 2.ステップ2 STORES(ストア)→Attributes(属性)→Rating(評価)の順に選択します。 3.ステップ3 「Add New Rating」ボタンをクリックします。 4.ステップ4 新しいレーティングのレーティング情報を入力します。 レーティングタイトルセクションで、新しいレーティングの[デフォルト値]を入力します。ストアビューごとに翻訳を入力することができます。 Rating Visibility]セクションでは、レーティングが使用されるストアビューに[Visibility In]を設定します。 レーティングをストアフロントに表示する場合は、[Is Active]チェックボックスを選択します。 「ソート順」では、このレーティングを他のレーティングと一緒に表示したときの順序を決めるための数字を入力します。 5.ステップ 5 完了したら、「Save Rating」をクリックします。
05 April 2021 / Published in TechBlogs
この記事にはMagento 2にレビューを追加する時はどのように実施するかご紹介いたします。 1.レビュー レビューには、ストアで提供している製品やサービスが含まれます。レビューの多くは、商品やサービスに対する客観的な視点で書かれています。 新規のお客様にとっては、購入の意思決定に大きく影響しますが、過去のレビューには、お客様があなたから購入する際の意見が書かれていることが多いです。それを見て、その商品・サービスを購入するリスクを判断するのです。 自分の店にポジティブなレビューを作ることは、より多くの商品を消費するためのビジネス戦略でもあります。しかし、まず重要なのは、最高の品質の商品・サービスをお客様にお届けすることです。 2.商品ページにレビュー追加 お客様は、Magento2で商品にレビューを以下のように簡単に追加することができます。 3.管理画面でレビュー追加 管理画面では、以下の簡単な手順でレビューを管理することができます。 ステップ1: 管理画面にログインします。 ステップ2: MARKETING(マーケティング)→User Content(ユーザーコンテンツ)→All Reviews(すべてのレビュー)の順に選択します。 ステップ3:「New Review」ボタンをクリックします。 さらに、ダッシュボード上でアクションを起こしてレビューを管理することもできます。 ステップ4:レビューを追加したい製品を選択します。 ステップ5: 新しいレビューの「レビュー詳細」を入力します。 ステータス :レビューをストアフロントに表示するには、[ステータス]フィールドで[承認]を選択します。 商品の評価:評価基準は、チュートリアル「How To Create A Rating In Magento 2」で追加することができます。 Visibility: レビューが表示されるストアビューを選択します。 ニックネーム: レビュー投稿者の名前を入力します。 Summary of Review: レビューの概要を入力します。レビューの概要を追加します。 レビューを表示します。レビューの完全な説明を追加します。 ステップ6: 完了したら「レビューを保存」をクリックします。  
02 April 2021 / Published in TechBlogs
1.ユニットテストとは? 基本的にユニットテストとは、ソフトウェアテストの一部として知られており、ソフトウェアの小さな単位ごとにテストを行います。このテストの主な目的は、ソフトウェアコードが期待通りに動作するかどうかを検証することです。ユニットテストは、アプリケーションの開発過程で行われます。 2.なぜユニットテストが必要なのか? ユニットテストは、主に制作時に発生するバグやエラーの数を減らすために行われます。正確なユニットテストは、Magentoのプロジェクトに最も近い開発者から実施され、ユニットテストの助けを借りて、他のすべての開発者がコードをより正確に理解し、学ぶ機会を得ることができます。 3.Magento 2 でユニットテストファイルを作成する手順 3.1.ステップ1 以下のパスに「 Unittest.php 」ファイルを作成し、コードを追加します。 app\code\Vendor\Extension\Model\ 3.2.ステップ 2 以下のパスにUnittest.phpを作成し、コードを追加します。 app\code\Vendor\Extension\Test\Unit\Model\ 上記のコードを追加した後、Magento 2 のルートディレクトリのターミナルで以下のコマンドを実行します。 最後に以上の説明で、Magento 2 でユニットテストファイルを作成することができたと思います。万が一、ユニットファイルの作成中にエラーが発生した場合は、以下のコメント欄で私に質問してください。 以上。