Метатег Spartacus перезаписывается конфигурацией, даже если URL-адрес не задан

#spartacus-storefront

#spartacus-витрина

Вопрос:

У меня есть настройка с Spartacus v2 (Hybris 2005) в среде CCv2. В настоящее время я сталкиваюсь с проблемой, заключающейся в том, что содержимое метатега <meta name="occ-backend-base-url" content="OCC_BACKEND_BASE_URL_VALUE" /> не заменяется ни в одном из моих окружений.

Это происходит потому, что мне нужно установить префикс occ в моем app.module.ts на с hybris 2005:

      backend: {
        occ: {
          prefix: '/occ/v2/'
        }
      }
 

Существует ли решение этой проблемы только для внешнего интерфейса или нам нужно изменить префикс обратно на /rest/v2 в серверной части?

Есть ли причина, по которой мета-тег игнорируется, даже если в объекте данных backend.occ не определен url, а только префикс?

index.html

 <!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Spartacusstore</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
  <link rel="manifest" href="manifest.webmanifest">
  <meta name="theme-color" content="#1976d2">
  <meta name="occ-backend-base-url" content="OCC_BACKEND_BASE_URL_VALUE" />
</head>

<body>
  <app-root></app-root>
  <noscript>Please enable JavaScript to continue using this application.</noscript>
</body>
</html>
 

app.module.ts

 import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { translations, translationChunksConfig } from '@spartacus/assets';
import { B2cStorefrontModule } from '@spartacus/storefront';
import { OccConfig, I18nModule, TranslatePipe } from '@spartacus/core';

const occConfig: OccConfig = { backend: { occ: {} } };
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    B2cStorefrontModule.withConfig({
      backend: {
        occ: {
          prefix: '/occ/v2/'
        }
      },
      checkout: {
        guest: true
      },
      context: {
        currency: ['USD'],
        language: ['en'],
        baseSite: ['electronics-spa']
      },
      i18n: {
        resources: translations,
        chunks: translationChunksConfig,
        fallbackLang: 'en'
      },
      features: {
        level: '2.0'
      },
    }),
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

 

Комментарии:

1. Я проверил приложение локально, и spartacus работает правильно. Префикс выбирается из статической конфигурации, а серверный ulr выбирается из мета-тега html. Можете ли вы также проверить этот сценарий локально? Если это работает для вас локально, вы можете поднять проблему в CCv2

2. @MarcinLasak спасибо за ответ, у меня такая же проблема локально, какую версию spartacus вы используете?

3. Я тестировал это на версии 2.1.0. Я поместил URL-адрес в мета-тег, и все заработало. Ожидали ли вы, что мета-тег будет автоматически заменен даже локально?