Skip to content

Commit b494a25

Browse files
Try using examine to lookup checkout node
1 parent a5fc163 commit b494a25

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/Umbraco.Commerce.Checkout/Views/UmbracoCommerceCheckout/Templates/Email/UmbracoCommerceCheckoutOrderConfirmationEmail.cshtml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@using Examine
12
@using Umbraco.Cms.Core.Services.Navigation
23
@inherits UmbracoCommerceRazorTemplateView<OrderReadOnly>
34
@{
@@ -25,10 +26,12 @@
2526
// Lookup the umbraco commerce checkout page for the associated orders store
2627
// so that we can extract relevant settings to configure the email template
2728
var contentCache = this.GetRequiredService<IPublishedContentCache>();
28-
var nav = this.GetRequiredService<IDocumentNavigationQueryService>();
29-
var rootKeys = nav.TryGetRootKeys(out var keys1) ? keys1 : [];
30-
var nodeKeys = rootKeys.SelectMany(key => nav.TryGetDescendantsKeysOfType(key, UmbracoCommerceCheckoutConstants.ContentTypes.Aliases.CheckoutPage, out var keys2) ? keys2 : []);
31-
var checkoutPage = nodeKeys.Select(x => contentCache.GetById(x)).FirstOrDefault(x => x.GetStore()?.Id == Model.StoreId);
29+
var examineManager = this.GetRequiredService<IExamineManager>();
30+
var searcher = examineManager.GetIndex("InternalIndex").Searcher;
31+
var storeNodeRecord = searcher.CreateQuery("content").Field("store", store.Id.ToString()).Execute().First();
32+
var checkoutPageRecords = searcher.CreateQuery("content").NodeTypeAlias(UmbracoCommerceCheckoutConstants.ContentTypes.Aliases.CheckoutPage).Execute();
33+
var checkoutPageRecord = checkoutPageRecords.First(x => x.Values["path"].StartsWith(storeNodeRecord.Values["path"]));
34+
var checkoutPage = contentCache.GetById(Guid.Parse(checkoutPageRecord.Values["key"]));
3235

3336
var uccStoreLogoUrl = checkoutPage.Value<IPublishedContent>("uccStoreLogo")?.Url();
3437
var uccStoreTsAndCsUrl = checkoutPage.Value<IPublishedContent>("uccTermsAndConditionsPage")?.Url();

0 commit comments

Comments
 (0)