2017-04-19 3 views
1

Je suis en train de créer des mises en page personnalisées pour ma nouvelle installation de Mura (je suis un débutant Mura, mais nous l'utilisons à mon travail, donc j'apprends comme je vais), mais je ' J'ai besoin d'aide avec le corps de la page. Après une mise en page par défaut fourni avec Mura, le code suivant est délivrer en sortie le corps d'une page:Mura CMS - Quelles options ai-je pour afficher le contenu du corps?

#$.dspBody(
body=$.content('body') 
, pageTitle=pageTitle 
, crumbList=0 
, showMetaImage=0 
)# 

Quand une image associée est affectée à la page, cette image montre quand j'ai un index des pages (un dossier par exemple), ce qui est génial. Cependant, il apparaît également en haut du corps lorsque vous visualisez la page elle-même.

En regardant le code ci-dessus, y a-t-il une autre propriété que je peux déposer ici pour supprimer l'image associée? Si oui, quelles sont mes propriétés disponibles ici? Je n'arrive pas à trouver de documentation sur ce morceau de code sur les sites Mura.

Comme l'a demandé, tout le code pour la mise en page en question

<cfoutput> 
    <cfinclude template="inc/html_head.cfm" /> 
    <body id="#$.getTopID()#" class="depth-#$.content('depth')# #$.createCSSHook($.content('menuTitle'))#"> 
     <div class="coverImageWrapper"> 
      <div class="coverImage"> 
       <cfinclude template="inc/header.cfm" /> 
       <cfinclude template="inc/departmentName_socialMedia.cfm" /> 
       <cfinclude template="inc/topNav.cfm" /> 
      </div> 
     </div> 
     <div class="secondaryPageWrapper"> 
      <div class="container"> 
       <div class="row"> 
        <div class="col-md-8 mainCol"> 

         <cfinclude template="inc/breadcrumb.cfm" /> 
         <cfset pageTitle = $.content('type') neq 'Page' ? $.content('title') : ''> 
         #$.dspObjects(2)# 
         #$.dspBody(
         body=$.content('body') 
         , pageTitle=pageTitle 
         , crumbList=0 
         , showMetaImage=0 
         )# 
        </div> 
        <aside class="col-md-4 sideCol"> 
         #$.dspObjects(3)# 
        </aside> 
       </div> 
      </div> 
     </div> 
     <cfinclude template="inc/department_footer.cfm" /> 
     <cfinclude template="inc/footer.cfm" /> 
     <cfinclude template="inc/html_foot.cfm" /> 
    </body> 
</cfoutput> 

enter image description here

+0

Nous aurons besoin de voir plus avant que cela. Il serait également utile de voir un exemple de capture d'écran de votre problème. Dans cet extrait particulier que vous avez partagé, l'attribut 'showMetaImage' contrôle l'affichage de l'image associée ou non. L'avoir mis à "0" n'affiche pas l'image. Il doit donc y avoir quelque chose d'autre dans votre code qui montre l'image. Quel modèle est assigné à votre page de dossier? Qu'est-ce qui est contenu dans le «corps» de cette page (l'image est-elle là)? –

+0

Il n'y a pas plus de code que celui-ci. Ceci est directement hors d'une mise en page de page mura par défaut. Ceci est tout ce qui est utilisé pour sortir le corps, L'image n'est pas dans le corps du document, ce qui signifie, Ce n'est pas dans la zone de contenu modifiable.L'image est la première chose qui apparaît après le titre de la page et avant le contenu éditable . J'ai ajouté tout le code dans la mise en page. – JesseEarley

+0

Pouvez-vous partager une capture d'écran du problème ou est-ce la page que nous pouvons atteindre? –

Répondre

3

@JesseEarley,

Tout d'abord, s'il vous plaît consulter le Guide de notre thème en ligne Developer chez http://docs.getmura.com/v7/theme-developers/. Je suis sûr que vous trouverez cela utile. En ce qui concerne le problème d'image associé, si vous utilisez la dernière version de Mura et que vous utilisez le thème par défaut, MuraBootstrap3, vous trouverez un répertoire intitulé content-types. Sous là, vous devriez voir un autre répertoire étiqueté page avec un fichier intitulé index.cfm. Ce fichier est ce qui contrôle la vue du corps. Au sein de ce fichier, il y a une section de code spécifiquement utilisé pour les images associées à la sortie:

<!--- Primary Associated Image ---> 
    <cfif $.content().hasImage(usePlaceholder=false)> 
     <cfscript> 
      img = $.content().getImageURL(
       size = 'carouselimage' // small, medium, large, custom, or any other pre-defined image size 
       ,complete = false // set to true to include the entire URL, not just the absolute path (default) 
      ); 
     </cfscript> 
     <div class="mura-asset"> 
      <a class="mura-meta-image-link" href="#$.content().getImageURL()#" title="#esapiEncode('html_attr', $.content('title'))#" rel="shadowbox[body]"> 
       <img class-"mura-meta-image carouselimage" src="#img#" alt="#esapiEncode('html_attr', $.content('title'))#"> 
      </a> 
     </div> 
    </cfif> 
<!--- /Primary Associated Image ---> 

C'est là que vous pouvez entrer dans votre logique personnalisée, ou le supprimer complètement, si vous le souhaitez.

Précision

L'appel à $.dspBody() déclenche la méthode sous requirements.mura.content.contentRenderer.cfc:dspBody(). Dans cette méthode, Mura verra si vous avez des substitutions au rendu du type de contenu spécifié, (par exemple, Page, Folder, Calendar, etc.), et il existe un certain nombre de façons de remplacer la sortie. Par exemple, dans eventHandler.cfc de votre thème, vous pouvez avoir une méthode appelée onPageDefaultBodyRender() et si elle renvoie une chaîne, cette chaîne sera utilisée. De la même manière, Mura recherchera des répertoires spécifiques dans votre thème tels que content_types, et s'il est trouvé, il recherchera les types de contenu tels que page, puis utilisera le index.cfm comme rendu du corps. C'est exactement ce qui se passe dans ce cas. Comme je l'ai indiqué dans mes notes ci-dessous, je travaille actuellement sur la documentation, et je disposerai de cette information dans un format beaucoup plus propre et, espérons-le, plus clair. Pour l'instant, vous voudrez peut-être voir ma présentation au http://docs.getmura.com/v7/videos/webinars/super-fast-app-dev-with-mura-7/ pour être au courant de certaines choses pendant que j'écris les nouveaux documents. En outre, vous pouvez également supprimer temporairement le répertoire content_types ou le renommer en quelque chose d'autre, pour voir comment le dspBody() restituera votre contenu sans le remplacement.

Cheers, Steve

+1

La méthode 'dspBody()' n'est plus utilisée dans Mura 7? –

+0

Je vois la méthode dspBody() ici: http://docs.getmura.com/v7/theme-developers/creating-layout-templates/template-variables-helper-methods/dspbody/, et cela montre que le réglage ' showMetaImage 'à false ne devrait pas afficher l'image associée, alors pourquoi cela semble-t-il n'avoir aucun effet avec Mura 7? – JesseEarley

+0

'dspBody()' est définitivement utilisé et déclenche le fichier inclus. L'utilisation de 'content_types/page/index.cfm' est une technique de remplacement. Une partie de ceci est couverte dans ma présentation à http://docs.getmura.com/v7/videos/webinars/super-fast-app-dev-with-mura-7/. Je travaille actuellement sur le Guide du développeur Mura et ce type d'information sera abordé de manière plus approfondie. –