Оверлейная проблема в i18n AEM6.0 - PullRequest
0 голосов
/ 25 апреля 2018

У нас есть несколько сайтов, таких как:

/apps/site1
        |----i18n
               |---data
               |---keys
               |---languages
               |---translator

/apps/site2
        |----i18n
               |---data
               |---keys
               |---languages
               |---translator

Теперь, когда мы зашли на сайт, мы можем увидеть звонок libs/cq/i18n/dict.xx-xx.json.В идеале этот вызов должен быть либо /apps, либо /etc.Как мне этого добиться?

OOTB сервлет:

@Component
@Service({Servlet.class})
@Properties({@Property(
    name = "service.description",
    value = {"ResourceBundle Renderer Servlet"}
), @Property(
    name = "sling.servlet.paths",
    value = {"/libs/cq/i18n/dict"}
)})
public class ResourceBundleExportServlet extends SlingSafeMethodsServlet {

1 Ответ

0 голосов
/ 25 апреля 2018

Это невозможно, так как в aem 6.3 (и более ранних версиях) этот путь был жестко закодирован почти везде, где он использовался. чтобы использовать пользовательский путь, вам нужно будет -

  1. Зарегистрируйте пользовательский сервлет по адресу /apps/cq/i18n/dict.xx-xx.json (или по вашему выбору), чтобы получить значения i18n.
  2. Измените код AEM ootb, который использует жестко заданный путь, чтобы использовать ваш собственный путь.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...