Surcharge du modèle 'calendarModel'

cancel
Showing results for 
Search instead for 
Did you mean: 
antho
Member II

Surcharge du modèle 'calendarModel'

Bonjour à tous,

Je souhaiterai ajouter à un événement de calendrier la possibilité d'y ajouter un document joint.
Par exemple pour un document de type cm:content, je lui ajoute l'aspect referencing et une propriété de type d:noderef, et de là, lorsque j'édite ses propriétés, je peux aller choisir dans une boîte de dialogue un document rattaché.

Je souhaiterai mettre cela en place pour un événement de calendrier, mais je rencontre un soucis.
J'ai bien surqualifié le model en y ajoutant ma propriété :

      <type name="ia:calendarEvent">
         <title>Calendar Event</title>
         <parent>cm:content</parent>
         <properties>
            <property name="ia:whatEvent">
               <type>d:text</type>
            </property>
            <property name="ia:fromDate">
               <type>d:datetime</type>
            <index enabled="true">
              <atomic>true</atomic>
              <stored>false</stored>
                  <tokenised>both</tokenised>
               </index>
            </property>
            <property name="ia:toDate">
               <type>d:datetime</type>
            <index enabled="true">
              <atomic>true</atomic>
              <stored>false</stored>
                  <tokenised>both</tokenised>
               </index>
            </property>
            <property name="ia:whereEvent">
               <type>d:text</type>
            </property>
            <property name="ia:descriptionEvent">
               <type>d:text</type>
            </property>
         <property name="ia:fichier">
               <type>d:noderef</type>
            </property>
            <property name="ia:colorEvent">
               <type>d:text</type>
            </property>
            <property name="ia:recurrenceRule">
               <type>d:text</type>
            </property>
            <property name="ia:recurrenceLastMeeting">
               <type>d:datetime</type>
            </property>
            <property name="ia:isOutlook">
               <type>d:boolean</type>
            </property>
            <property name="ia:outlookUID">
               <title>Outlook UID</title>
               <type>d:text</type>              
               <mandatory>false</mandatory>              
               <index enabled="true">
                  <tokenised>false</tokenised>
               </index>                       
            </property>
         </properties>
         <associations>
            <child-association name="ia:ignoreEventList">
               <source>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </source>
               <target>
                  <class>ia:ignoreEvent</class>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </target>
            </child-association>
         </associations>        
      </type>

NB: ia:fichier est de type d:noderef

Cependant, dans mon template de formulaire (create-event.get.html.ftl), je n'arrive pas à appeler mon composant…

Ai-je été assez clair ?
Avez vous une idée ?

Merci d'avance de vous intéresser à mon problème,

Antho
1 Reply
cleseach
Active Member II

Re: Surcharge du modèle 'calendarModel'

Bonjour,

<blockquote>Ai-je été assez clair ? </blockquote>
Presque ;-)
Il manque à votre explication la description de comment vous appelez votre composant. Quels sont les essais que vous avez faits, quel est l'état de votre template aujourd'hui ?
Il manque aussi la précision sur la version que vous utilisez.

Au-delà de ces quelques informations utiles, il y a deux points qu'il peut être intéressant de regarder :
<ul>
  <ol>La popup de création d'un évènement possède le paramètre <i>enableDocFolder</i> (cf. create-event.get.config.xml). Ce paramètre permet de disposer d'un champ supplémentaire pour sélectionner un dossier dans l'arborescence du site. Ce peut être une piste d'inspiration pour votre besoin. La modélisation sous-jacente reste tout de même soumise à interrogation (cf. ci-dessous)</ol>
  <ol>Utiliser des champs d:text ou d:noderef pour référencer des objets risque de poser des problèmes de liaison : que se passe-t-il si le noeud pointé est supprimé ? Vous feriez mieux d'utiliser des associations qui sont exactement prévues pour lier des noeuds entre eux. D'ailleurs, l'aspect <i>cm:referencing</i> définit bien une association (pas besoin de propriété d:noderef en plus).</ol>
</ul>

Cordialement,
Charles Le Seac'h