2014-04-24 11 views

Odpowiedz

13

W CRXDE pod /etc/designs/[your design]/jcr:content można zdefiniować węzły do ​​reprezentowania każdego z szablonów & ich paragrafy & notować dozwolone składniki dla każdego.

Format jest węzłem dla każdego szablonu zawierającego węzeł dla każdego parsys (zarówno [nt:unstructured]).

Węzeł parsys ma następnie sling:resourceType zdefiniowaną jako foundation/components/parsys i components właściwość String[]. Na przykład sprawdź, jak zdefiniowano Geometrixx: http://localhost:4502/crx/de/index.jsp#/etc/designs/geometrixx/jcr%3Acontent/contentpage/par

Następnie można wyodrębnić to przez VLT, który zostanie zapisany jako plik pod numerem etc/designs/[your design].

Można również utworzyć ten plik ręcznie. Na przykład. Poniższe definiuje "Twój projekt" jako umożliwiające domyślne "tekst" i "obraz" komponenty w akapicie "yourParsys" "yourTemplate".

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"  
      xmlns:cq="http://www.day.com/jcr/cq/1.0" 
      xmlns:jcr="http://www.jcp.org/jcr/1.0" 
      xmlns:nt="http://www.jcp.org/jcr/nt/1.0" 
      jcr:primaryType="cq:Page"> 
    <jcr:content 
     cq:template="/libs/wcm/core/templates/designpage" 
     jcr:primaryType="cq:PageContent" 
     jcr:title="You Design"> 
     <yourTemplate jcr:primaryType="nt:unstructured"> 
      <yourParsys 
       jcr:primaryType="nt:unstructured" 
       sling:resourceType="foundation/components/parsys" 
       components="[foundation/components/text,foundation/components/image]"/> 
     </yourTemplate> 
    </jcr:content> 
</jcr:root> 

To pozwala przenieść ten plik drugiej instancji (na przykład podczas wdrażania pakietu CRX), dzięki czemu nie trzeba konfigurować indywidualnie & środowisk, które są dozwolone składniki, gdzie można również zarządzać wersji kontrola.

+0

Czy istnieje sposób na ograniczenie liczby komponentów, które można upuścić w 'twoichParkach'? Na przykład chcę jeden i tylko jeden 'foundation/components/text' do wklejenia i nic więcej. – Behrang

+1

Nie ma prostego sposobu, który znalazłem. Możesz być w stanie nałożyć plik JS w pomocnika i zrobić czek na wkładce? Lub osadzaj komponent bezpośrednio w szablonie, zaznaczając/ukrywając pole wyboru. Szczerze mówiąc, są to jednak elementy łatwiejsze do rozwiązania dzięki wskazówkom redakcyjnym niż staraniom na rzecz rozwoju. – anotherdave

+0

@Behrang Jest, ale wymaga albo nadpisania domyślnego komponentu Parsys, albo implementacji filtra żądań w celu usunięcia nadmiarowych węzłów. Odpowiedni sposób postępowania w rzeczywistości zależy od podstawowych wymagań biznesowych. – Rampant

0

Można ustawić dozwoloną własność rodziców dla komponentu ograniczenia gdzie komponent służy np allowedParents="[*/parsys]"

0

Jedyny sposób, w jaki mogę to zrobić, to stworzyć nowy komponent parsys, który po prostu rozszerza istniejący o sling: resourceSuperType. Następnie użyj właściwości allowedParents w komponencie i określ swoje konkretne parsys. Na koniec użyj konkretnych parsys na szablonie strony, o którym mowa. Nie próbowałem tego jak dotąd, ale zachowałem ten pomysł w mojej tylnej kieszeni. Daj znać czy działa.

Powiązane problemy