2016-02-09 3 views
0

Как ограничить компонент только определенным контентом (или конкретным веб-сайтом)?Как ограничить компонент только определенным контентом (или конкретным веб-сайтом)

Вот определение dialog.xml:

<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" 
    xmlns:jcr="http://www.jcp.org/jcr/1.0" 
    jcr:primaryType="cq:Component" 
    jcr:title="My Custom Component" 
    allowedParents="[*/parsys]" 
    allowedPaths="/content/[a-z0-9]{2,5}/[a-z]{2}(_[a-zA-Z]{2})?(/.*)?" 
    componentGroup="Grundfos-Responsive" 
/> 

Моя цель состоит в том, чтобы иметь возможность добавить компонент под траекторией только

/content/racs/.... 

. Обратите внимание, что /content/racs/... - это относительный путь к нашему сайту.

Я попытался это одно:

allowedPaths="/content/racs/[a-z]{2}(_[a-zA-Z]{2})?(/.*)?" 

, но это не сработало.

Я также попытался allowedParents

allowedParents="/content/racs/[*/parsys]" 

, но он также не работает.

Я хочу, чтобы добавить компонент только под этот путь:

/content/racs/.... 

ответ

0

Прежде всего, определение компонента в .content.xml, а не в dialog.xml.

Во-вторых - Вы не можете ограничить размещение компонентов в аналогично тому, как мы можем ограничить шаблон. От this link вы можете убедиться, что этот компонент не обладает такими свойствами.

В-третьих, мы можем ограничить появление компонентов в SideKick, используя режим Disign. Пожалуйста, проверьте this answer, чтобы просмотреть детали этого подхода. Некоторые выдержки из этого ответа:

В CRXDE, под /etc/designs/[your design]/jcr:content, вы можете определить узлы для представления каждого из ваших шаблонов & их пункты & списка разрешенных компонент для каждого из них.

...

parsys Затем узел имеет строп: ResourceType определенное фундаментный/компонентов/parsys и свойство компонентов String []. Для примера, проверить, как Geometrixx один определяется: http://localhost:4502/crx/de/index.jsp#/etc/designs/geometrixx/jcr%3Acontent/contentpage/par

Также there вы можете проверить, как сделать это с помощью пользовательского интерфейса.

+0

спасибо за ваше предложение, но для третьего ответа, он не ограничивал компонент, чтобы быть видимыми в других местах. Он виден и может быть перенесен в parsys в/content/racs/... и также может быть добавлен в/content/site2 .... и в/content/site3/..и так далее. – vixenpixie14

+0

@Racs, у вас сайты одинакового дизайна? –

+0

Да, сайты имеют одинаковую конструкцию. Компонент должен отображаться только по пути/контенту/сайту1 ... он не должен быть видимым или не должен содержать его в parsys в/content/site2 .. и так далее. Спасибо – vixenpixie14

0

вы можете попробовать это для ограничения компонента для отображения в определенном месте:

allowedPaths="[/content/racs(/.*)?]" 
+0

спасибо за предложение, но оно не сработало. – vixenpixie14

Смежные вопросы