2016-11-28 6 views
0

Haftungsausschluss, ich bin ein ColdFusion Neuling ...ein benutzerdefiniertes Attribut aus dem aktuellen Element in ColdFusion abrufen?

Ich benutze Mura CMS 6, und ich habe eine Frage in Bezug auf den Zugriff auf ein benutzerdefiniertes Attribut.

Meine contentRenderer.cfc-Datei hat Code für ein Bootstrap-Karussell. Ich möchte in der Lage sein, den Inhalt eines benutzerdefinierten Attributs für die Datei auszugeben, die das Karussell verwendet, aber ich bin nicht ganz sicher, wie das geht.

Mein benutzerdefiniertes Attribut heißt 'imageLink', aber ich habe keine Ahnung, wie der aktuelle Kontext abgerufen werden kann, um den Inhalt dieses Attributs auf dem Bildschirm ausgeben zu können.

Der folgende Code ist der Code für das Karussell (ich es nicht schreiben)

 <cfsavecontent variable="local.str"><cfoutput> 
     <!--- BEGIN: Bootstrap Carousel ---> 
     <!--- IMPORTANT: This will only output items that have associated images ---> 
     <cfset local.feed = variables.$.getBean('feed').loadBy(name=arguments.feedName)> 
     <cfset local.iterator = local.feed.getIterator()> 
     <cfif local.feed.getIsNew()> 
      <div class="container"> 
       <div class="alert alert-info alert-block"> 
        <button type="button" class="close" data-dismiss="alert"><i class="fa fa-remove"></i></button> 
        <h4>Ooops!</h4> 
        The <strong>#HTMLEditFormat(arguments.feedName)#</strong> Content Collection/Local Index does not exist. 
       </div> 
      </div> 
     <cfelseif local.iterator.hasNext()> 
      <div id="#arguments.cssID#" class="carousel slide" data-interval="#arguments.interval#"> 

       <!--- Indicators ---> 
       <cfif arguments.showIndicators> 
        <ol class="carousel-indicators"> 
         <cfset local.iterator.reset()> 
         <cfset local.idx = 0> 
         <cfloop condition="local.iterator.hasNext()"> 
          <cfset local.item=iterator.next()> 
          <cfif ListFindNoCase('jpg,jpeg,gif,png', ListLast(local.item.getImageURL(), '.'))> 
           <li data-target="###arguments.cssID#" data-slide-to="#idx#" class="<cfif local.idx eq 0>active</cfif>"></li> 
           <cfset local.idx++> 
          </cfif> 
         </cfloop> 
        </ol> 
       </cfif> 

       <!--- Wrapper for slides ---> 
       <div class="carousel-inner" role="listbox"> 
        <cfset local.iterator.reset()> 
        <cfset local.idx = 0> 
        <cfloop condition="local.iterator.hasNext()"> 
         <cfset local.item=iterator.next()> 
         <cfif ListFindNoCase('jpg,jpeg,gif,png', ListLast(local.item.getImageURL(), '.'))> 
          <div class="item<cfif local.idx eq 0> active</cfif>"> 
           <img src="#local.item.getImageURL(argumentCollection=local.imageArgs)#" alt="#HTMLEditFormat(local.item.getTitle())#"> 
           <cfif arguments.showCaption> 
            <div class="container"> 
             <div class="carousel-caption"> 
              <h2><a href="#local.item.getURL()#" title="Click to view the news story">#HTMLEditFormat(local.item.getTitle())#</a></h2> 
        #local.item.getTitle()# 
             <!-- <p><a class="btn btn-larg btn-primary" href="#local.item.getURL()#">Read More</a></p>--> 
             </div> 
            </div> 
           </cfif> 
          </div> 
          <cfset local.idx++> 
         </cfif> 
        </cfloop> 
       </div> 

       <cfif local.idx> 
        <!--- Controls ---> 
        <cfif local.idx gt 1> 
         <a class="left carousel-control" href="###arguments.cssID#" data-slide="prev" role="button"> 
      <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
      <span class="sr-only">Previous</span> 
      </a> 
         <a class="right carousel-control" href="###arguments.cssID#" data-slide="next" role="button"> 
      <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
      <span class="sr-only">Next</span> 
      </a> 
         <!--- AutoStart ---> 
         <cfif arguments.autoStart> 
          <script>jQuery(document).ready(function($){$('###arguments.cssID#').carousel({interval:#arguments.interval#});});</script> 
         </cfif> 
        </cfif> 
       <cfelse> 
        <div class="alert alert-info alert-block"> 
         <button type="button" class="close" data-dismiss="alert"><i class="fa fa-remove"></i></button> 
         <h4>Oh snap!</h4> 
         Your feed has no items <em>with images</em>. 
        </div> 
       </cfif> 
      </div> 
     <cfelse> 
      <div class="alert alert-info alert-block"> 
       <button type="button" class="close" data-dismiss="alert"><i class="fa fa-remove"></i></button> 
       <h4>Heads up!</h4> 
       Your feed has no items. 
      </div> 
     </cfif> 
     <!--- // END: Bootstrap Carousel ---> 
    </cfoutput></cfsavecontent> 

Wie kann ich den aktuellen Kontext Ausgabe zugreifen, das Attribut?

+0

Könnten Sie bekommen erarbeiten Was du mit 'custom attribute' meinst sind yo Sie beziehen sich auf HTML 'Data-' Attribute? –

+0

Ja, tut mir leid. Mit Mura CMS kann ich eine Klasse (Seite, Ordner, Datei usw.) erweitern und ihnen benutzerdefinierte Attribute zuweisen. Zum Beispiel könnte ich die Klasse/Typ "Page" erweitern und einen Typ "Bio Page" erstellen. Sobald ich dies getan habe, konnte ich ein benutzerdefiniertes Attribut namens "Vorname" erstellen und es als bearbeitbares Feld anzeigen lassen, wenn ich eine neue Seite vom Typ "Bio-Seite" erstelle. – JesseEarley

Antwort

0

Sie Unter der Annahme arbeiten im cfloop und nach der Zeile

<cfset local.item=iterator.next()> 

Sie können Ihre benutzerdefinierten Imagelink Wert mit

#local.item.getImageLink()# 

oder

#local.item.getValue('imageLink')# 
Verwandte Themen