Search Results

テンプレート処理中にエラーが発生しました。
The following has evaluated to null or missing:
==> restClient.get("/headless-admin-taxonomy/v1.0/sites/${companyId}/taxonomy-vocabularies/by-external-reference-code/RESOURCE_TYPE").id  [in template "8911408109993434201#23484949#23489017" at line 6, column 32]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: vocabularyId = restClient.get("/headl...  [in template "8911408109993434201#23484949#23489017" at line 6, column 17]
----
1<#if entries?has_content> 
2 
3	<#assign 
4		totalCount = 0 
5		companyId = themeDisplay.getCompanyGroupId() 
6		vocabularyId = restClient.get("/headless-admin-taxonomy/v1.0/sites/${companyId}/taxonomy-vocabularies/by-external-reference-code/RESOURCE_TYPE").id 
7		categories = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/${vocabularyId}/taxonomy-categories").items 
8		orderedEntries = [] 
9		validCategoryIds = [] 
10	/> 
11 
12	<#list categories as category> 
13		<#if stringUtil.equals(category.externalReferenceCode, "HOW_TO") || stringUtil.equals(category.externalReferenceCode, "OFFICIAL_DOCUMENTATION")> 
14			<#assign validCategoryIds += [category.id] /> 
15		</#if> 
16	</#list> 
17 
18	<#list assetCategoriesSearchFacetDisplayContext.getBucketDisplayContexts() as bucket> 
19		<#assign totalCount = totalCount + bucket.getCount() /> 
20	</#list> 
21 
22	<ul class="learn-category-facet-tabs list-unstyled tab-list" id="tab-list"> 
23		<li class="facet-value"> 
24			<@clay.button 
25				cssClass="btn-unstyled facet-clear tab-btn text-center ${assetCategoriesSearchFacetDisplayContext.isNothingSelected()?then('selected-tab-btn', '')}" 
26				displayType="link" 
27				onClick="${namespace}updateSelection(event)" 
28				value="clear" 
29
30				<span class="term-text">${languageUtil.get(locale, "all-results", "All Results")}</span> 
31 
32				<#if entry.isFrequencyVisible()> 
33					<span class="term-count">${totalCount}</span> 
34				</#if> 
35			</@clay.button> 
36		</li> 
37 
38	<#list entries as entry> 
39	<#assign categoryId = entry.getFilterValue() /> 
40 
41	<#list categories as category> 
42		<#if category.id == categoryId> 
43			<#if category.externalReferenceCode == "OFFICIAL_DOCUMENTATION"> 
44				<#assign orderedEntries = [entry] + orderedEntries /> 
45			<#elseif category.externalReferenceCode == "HOW_TO"> 
46				<#assign orderedEntries += [entry] /> 
47			</#if> 
48		</#if> 
49	</#list> 
50</#list> 
51 
52<#list orderedEntries as entry> 
53	<li class="facet-value"> 
54		<@clay.button 
55			cssClass="btn-unstyled facet-term tab-btn term-name text-center ${(entry.isSelected())?then('selected-tab-btn', '')}" 
56			data\-term\-id="${entry.getFilterValue()}" 
57			disabled="true" 
58			displayType="link" 
59			onClick="${namespace}updateSelection(event)" 
60
61			<span class="term-text"> 
62				${htmlUtil.escape(entry.getBucketText())} 
63			</span> 
64 
65			<#if entry.isFrequencyVisible()> 
66				<span class="term-count"> 
67					${entry.getFrequency()} 
68				</span> 
69			</#if> 
70		</@clay.button> 
71	</li> 
72</#list> 
73	</ul> 
74 
75	<div class="dropdown learn-category-facet-tabs tab-list" id="tab-list-mobile"> 
76		<button 
77			aria-expanded="false" 
78			aria-haspopup="true" 
79			class="btn btn-unstyled d-inline-block selected-tab-btn" 
80			data-toggle="liferay-dropdown" 
81			displayType="button" 
82			id="dropdownAlignment1" 
83
84			<div class="d-flex facet-value-mobile justify-content-center opacity-75"> 
85				<#assign facetCount = 0 /> 
86				<#list entries as entry> 
87					<#if entry.isSelected()> 
88						<#assign facetCount++ /> 
89 
90						<span class="term-text">${entry.getBucketText()}</span> 
91						<#if entry.isFrequencyVisible()> 
92							<span class="term-count">${entry.getFrequency()}</span> 
93						</#if> 
94					</#if> 
95				</#list> 
96				<#if facetCount == 0> 
97					<span class="term-text">All results</span> 
98					<span class="term-count">${totalCount}</span> 
99				</#if> 
100			</div> 
101		</button> 
102 
103		<ul 
104			aria-labelledby="dropdownAlignment1" 
105			class="dropdown-menu" 
106			x-placement="bottom-start" 
107
108			<li class="align-items-center d-flex position-relative ${assetCategoriesSearchFacetDisplayContext.isNothingSelected()?then('selected-item-mobile-tab', '')}"> 
109				<@clay.button 
110					cssClass="dropdown-item facet-clear nav-link rounded" 
111					displayType="link" 
112					onClick="${namespace}updateSelection(event)" 
113					value="clear" 
114
115					<span class="term-text">${languageUtil.get(locale, "all-results", "All Results")}</span> 
116					<#if entry.isFrequencyVisible()> 
117						<span class="term-count">${totalCount}</span> 
118					</#if> 
119				</@clay.button> 
120			</li> 
121 
122			<#list entries as entry> 
123				<li class="align-items-center d-flex ${(entry.isSelected())?then('selected-item-mobile-tab', '')}"> 
124					<@clay.button 
125						cssClass="dropdown-item facet-clear nav-link rounded" 
126						data\-term\-id="${entry.getFilterValue()}" 
127						displayType="link" 
128						onClick="${namespace}updateSelection(event)" 
129
130						<span class="term-text">${htmlUtil.escape(entry.getBucketText())}</span> 
131						<#if entry.isFrequencyVisible()> 
132							<span class="term-count">${entry.getFrequency()}</span> 
133						</#if> 
134					</@clay.button> 
135				</li> 
136			</#list> 
137		</ul> 
138	</div> 
139</#if> 
140 
141<@liferay_aui.script> 
142	function handleStyleTabs(event) { 
143		const targetButton = event.currentTarget; 
144		const buttons = document.querySelectorAll('.tab-btn'); 
145 
146		buttons.forEach(button => { 
147			button.classList.remove('selected-tab-btn'); 
148		}); 
149 
150		if (targetButton.classList.contains('tab-btn')) { 
151			targetButton.classList.add('selected-tab-btn'); 
152
153
154 
155	function ${namespace}updateSelection(event) { 
156		handleStyleTabs(event); 
157 
158		const form = event.currentTarget.form; 
159 
160		if (form) { 
161			Liferay.Search.FacetUtil.selectTerms(form, []); 
162 
163			if (event.target.value === "clear") { 
164				Liferay.Search.FacetUtil.clearSelections(event); 
165
166			else { 
167				Liferay.Search.FacetUtil.changeSelection(event); 
168
169
170
171</@> 
172 
173<style> 
174	.learn-category-facet-tabs .facet-term-unselected .term-text { 
175		opacity: 0.8; 
176
177 
178	.learn-category-facet-tabs .facet-value { 
179		flex:1; 
180
181 
182	.learn-category-facet-tabs.tab-list { 
183		align-items:center; 
184		display: flex; 
185		background: var(--Neutral-01, #F7F7F8); 
186		border-radius: 99px; 
187		height: 52px; 
188		padding: 4px 6px; 
189
190 
191	.learn-category-facet-tabs .selected-tab-btn { 
192		background: var(--Action-Primary-Active-Lighten, #E6EDFB); 
193		border-radius: 99px; 
194		opacity: 1; 
195		padding: 8px; 
196		text-align: center; 
197		width: 100%; 
198
199 
200	.learn-category-facet-tabs .term-count { 
201		background: var(--Status-Info-Info, #2E5AAC); 
202		border-radius: 12px; 
203		color: var(--Neutral-00, #FFF); 
204		font-size: 13px; 
205		padding: 2px 5px; 
206
207 
208	.learn-category-facet-tabs .term-text { 
209		color: var(--Neutral-10, #282934); 
210		font-size: 14px; 
211		font-style: normal; 
212		font-weight: 600; 
213
214 
215	.selected-item-mobile-tab::after { 
216		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='currentColor' class='lexicon-icon lexicon-icon-check' role='presentation' viewBox='0 0 512 512'%3E%3Cpath d='M192.9,429.5c-8.3,0-16.4-3.3-22.3-9.2L44.5,294.1C15,263.2,62.7,222,89.1,249.5L191.5,352l230-258.9 c27.2-30.5,74.3,11.5,47.1,41.9L216.4,418.9c-5.8,6.5-14,10.3-22.6,10.6C193.5,429.5,193.2,429.5,192.9,429.5z'%3E%3C/path%3E%3C/svg%3E"); 
217		background-repeat: no-repeat; 
218		background-size: contain; 
219		content: ""; 
220		height: 15px; 
221		position: absolute; 
222		right: 1rem; 
223		top: 50%; 
224		transform: translateY(-50%); 
225		width: 15px; 
226
227 
228	@media screen and (max-width: 992px) { 
229		.learn-category-facet-tabs .facet-value-mobile { 
230			gap: var(--spacer-2, 0.5rem); 
231
232 
233		.learn-category-facet-tabs .facet-value-mobile .term-text { 
234			opacity: 0.80; 
235
236 
237		.learn-category-facet-tabs .dropdown-menu, 
238		.learn-category-facet-tabs#tab-list-mobile { 
239			max-width: none; 
240			padding: var(--spacer-2, 0.5rem); 
241			width: 100%; 
242
243 
244		.learn-category-facet-tabs#tab-list { 
245			display: none !important; 
246
247 
248		.learn-category-facet-tabs#tab-list-mobile { 
249			align-items: center; 
250			display: flex !important; 
251			width: 100%; 
252
253
254 
255	#tab-list-mobile { 
256		display: none; 
257
258 
259	#tab-list-mobile::after { 
260		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23999AA3' d='M103.5 204.3l136.1 136.1c9 9 23.7 9 32.7 0l136.1-136.1c14.6-14.6 4.3-39.5-16.4-39.5H119.9C99.2 164.8 88.9 189.7 103.5 204.3z'/%3E%3C/svg%3E"); 
261		background-repeat: no-repeat; 
262		background-size: contain; 
263		content: ""; 
264		height: 15px; 
265		position: absolute; 
266		right: 1rem; 
267		top: 50%; 
268		transform: translateY(-50%); 
269		width: 15px; 
270
271</style> 
Capability
Feature
Deployment Approach
Configuring Liferay Authentication With PingOne Using SAML
This recipe guides you through the basic steps needed to integrate PingOne, your Identity Provider (IdP), with your Liferay environment using Security Assertion Markup Language (SAML). PingOne...
公開日: 2024/08/02 14:34
Integrate Azure AD with Liferay DXP Using OpenID Connect
This recipe guides you through the basic steps needed to integrate Azure AD (now known as Microsoft Entra ID), your Identity Provider (IdP), with your Liferay environment using OpenID Connect....
公開日: 2024/08/02 16:36
Integrate Azure AD with Liferay DXP Using SAML
As a general best practice, integrating Liferay DXP with other Identity Providers (IdPs) provides enhanced security and streamlines authentication management. This recipe guides you through the...
公開日: 2024/08/05 17:12
Building Multi-Step Forms With Liferay DXP Objects
This recipe guides you through the basic steps to build a multi-step form. Liferay DXP environment An object definition with fields A user who has access and control to create and manage objects,...
公開日: 2024/08/06 18:21
Integrate Okta with Liferay DXP using OpenID Connect
This recipe guides you through the steps to integrate Okta, your Identity Provider (IdP), with your Liferay environment using OpenID Connect. Okta Dev account Liferay DXP environment Administrative...
公開日: 2024/08/06 20:09
Designing and Displaying Reusable Navigation Menus
Navigation menus for a site are typically tied strictly to a site's page hierarchy and structure. The Navigation Menus feature in Liferay is powerful because it enables you to create navigation...
公開日: 2024/08/15 18:33
Building a Reusable and Dynamic Accordion With Fragments
Liferay Fragments are reusable, customizable web elements that serve as building blocks for a page. They consist of HTML, CSS, and JavaScript to provide structure, style, and functionality to your...
公開日: 2024/08/19 16:54
Using Zapier to Sync Object Data with Google Sheets
This recipe guides you through the steps required to use webhooks to trigger sync tasks between Liferay Objects and Google Sheets using Zapier.
公開日: 2024/11/14 16:15
システム設定
システム設定 コントロールパネルの システムスコープの 設定は、 → [設定]→ [システム設定]から行うことができます。 システム設定アプリケーションでは、プラットフォーム、セキュリティ、コンテンツとデータ、その他の4つのカテゴリの下に設定セクションが表示されます。 各セクションには、1つ以上の設定エントリーが含まれています。 ...
公開日: 2024/05/09 18:58
設定スコープについて
設定スコープについて Liferay DXPのサービスとアプリケーションの設定は、4つのレベルのいずれか、または スコープ(システム、仮想インスタンス、サイト、またはウィジェット)で適用されます。 システム設定で行われた設定は、システムスコープレベルで設定されます。 システム以外のラベルが付いたスコープの場合、システム設定値がデフォルトとして機能します。...
公開日: 2024/05/09 18:58
仮想インスタンス
仮想インスタンス 仮想インスタンスを理解する 仮想インスタンスの追加 インスタンス設定 ユーザー ユーザー認証 メール設定 アナリティクス ローカライズ インフラストラクチャー サードパーティ リダイレクト URL
公開日: 2024/05/09 18:58
仮想インスタンスの追加
仮想インスタンスの追加 Liferay DXPで仮想インスタンスを追加する前に、インストールされているLiferay DXPシステムを指すようにネットワークでドメイン名を設定する必要があります。 デフォルトでは1つの仮想インスタンスがあります。 ドメイン名の準備ができたら、仮想インスタンスを作成します。 [コントロールパネル] → [設定] → [Virtual...
公開日: 2024/05/09 18:58
ローカライズ
ローカライズ ローカリゼーションカテゴリには、次のエントリが含まれています。 設定目的 言語デフォルトのインスタンス言語と、インスタンスで使用可能な言語を設定します。 標準時インスタンスの標準時を設定します 言語選択(ウィジェットスコープ)言語選択ウィジェットのインスタンススコープのデフォルトを設定します。 ウィジェット自体でこの設定を上書きします。 ...
公開日: 2024/05/09 18:58
サードパーティー
サードパーティー サードパーティカテゴリは、ジオローカライズされたアセットのマップのAPIプロバイダーを指定します。 マップのAPIプロバイダーとしてOpenStreetMapまたはGoogleマップを選択します。 ジオローカライズされたアセットをマッピングするためのAPIプロバイダーを設定します。 サードパーティーの設定にアクセスするには、コントロールパネルを開き、 [設定] →...
公開日: 2024/05/09 18:58
インスタンス設定
インスタンス設定 インスタンス設定は、仮想インスタンスの外観から利用規約まで、ユーザーが最初にサインインするときに同意する仮想インスタンスの構成情報を定義します。 コントロールパネルの [設定] → [インスタンス設定] のセクションからインスタンス設定にアクセスし、 [プラットフォーム] の下の [インスタンス設定] カテゴリを選択します。...
公開日: 2024/05/09 18:58
メール設定
メール設定 メール設定は、仮想インスタンススコープでのメール通知を設定するところです。 これらのオプションにアクセスするには、次のようにします、 グローバルメニュー(Global Menu) を開き、 コントロールパネル → 構成 → インスタンス設定 に移動します。 プラットフォーム」の「Email」を選択します。 左側に設定オプションが表示されます: 設定目的...
公開日: 2024/05/09 18:58
リダイレクト URL
リダイレクト URL 7.4以降で利用可能 Liferayインスタンスは、特定のURLやIPアドレスへのリダイレクトを許可するように設定することができます。 設定するには、 Control Panel → Instance Settings → Content and Data → Pages → Redirect URLs に移動します。 ...
公開日: 2024/05/09 18:58
アナリティクス
アナリティクス アナリティクスカテゴリは、仮想インスタンスで使用可能なアナリティクスシステムを定義します。 アナリティクスシステムを入力するか、あらかじめ設定されている2つのオプション(google および piwik)のうち1つを削除します。 ここでこれらのシステムを有効にし、 サイトレベル で設定します。 [詳細設定]セクションのサイト管理設定でアナリティクスエンジンを設定します。 ...
公開日: 2024/05/09 18:58
インフラストラクチャー
インフラストラクチャー インフラストラクチャカテゴリには、インポート/エクスポートプロセス中に検証されるコンテンツの種類と、インポート/エクスポートプロセス中に一時LARファイルを削除するかどうかを指定する設定が含まれています。 仮想インスタンススコープでインポート/エクスポート設定を構成します。 これらの設定にアクセスするには、コントロールパネルを開き、 [設定] →...
公開日: 2024/05/09 18:58
ユーザー認証
ユーザー認証 ユーザー認証設定は、ユーザーの認証方法、ユーザーに必要なさまざまな認証方法、および予約されていてユーザーが登録できないスクリーン名と電子メールアドレスを定義します。 コントロールパネルの [設定] → [Instance Settings] セクションでユーザー認証の設定にアクセスし、 [プラットフォーム] セクションで [User Authentication]...
公開日: 2024/05/09 18:58