Coldfusion do’s and dont’s 2: rendering header image

Coldfusion do’s and dont’s 2: rendering

donderdag 30 juni 2016 ·Leestijd: 3 minuten
contacteer auteur:

In een vorig artikel heb ik geschreven hoe je in ColdFusion veilig en beter om kunt gaan met de database. In dit artikel zal ik enkele functies bespreken die helpen bij het plaatsen van content om de website met behulp van ColdFusion.

In Nederland maken maar weinig webontwikkelaars gebruik van onder andere ColdFusion, Sigma Solutions is daar één van. Hoewel modernere en betere ontwikkelomgevingen voor handen zijn, zoals .NET van Microsoft, waarin de nieuwste release van het Accessify WCMS is ontwikkeld, zijn er nog altijd websites en applicaties die ontwikkeld zijn in ColdFusion. Sigma Solutions raadt aan deze te migreren naar een nieuwe taal of anders om ze correct te beheren.

ColdFusion is een taal op zich, gebaseerd op Java, met z’n specifieke eigenaardigheden. Door de ervaring die Sigma Solutions heeft met ColdFusion, weten wij waar we op moeten letten en wat mogelijke valkuilen zijn.

ColdFusion gebruikt components en templates om informatie te delen met de rest van de wereld. Components worden gebruikt als controller, templates zijn de view.

Uitgebreide tekensets met CFProcessingDirective

Pagina’s (of views) die getoond worden aan de bezoeker hebben een bepaalde encoding. Hiermee kan worden aangegeven welke tekenset getoond kan worden in de browser. De algemeen gebruikte tekenset UTF-8 bezit vele duizenden karakters, maar om deze te gebruiken, dient wel aangegeven te worden dat de pagina deze kan tonen.

Er zijn veel manieren om dit te doen, waaronder via de CF-tag CFPRocessingDirective. Deze tag zet je bovenaan een template en als attribuut geef je op pageEncoding=”<tekenset>”, bijvoorbeeld <cfprocessingdirective pageEncoding=”utf-8” />.

Let op: voor elke ColdFusion-template moet dit worden opgegeven, dus ook als deze via CFINCLUDE is meegenomen.

Daarnaast kan je het attribuut suppressWhitespace gebruiken om alle overbodige witruimte die gegenereerd wordt doorColdFusion te verwijderen.

In CFscript gebruik je hiervoor de volgende methode:

component{

pageencoding "utf-8" ;
 

Zie http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-76de.html voor meer mogelijkheden.

Content opslaan met Cfsavecontent

Content die door ColdFusion gegenereerd wordt, wordt direct naar de browser geschreven. Er zijn echter gevallen waarbij je de content eerst wilt maken en daarna pas sturen naar de browser, bijvoorbeeld om het te cachen of om bepaalde waardes te vervangen.

Je kunt een variabele maken en met &= tekst toevoegen aan de variabele, bijvoorbeeld:

<cfset tekst = “<h1>Hier wat tekst.</h1>” />

<cfset tekst &= “Nog meer tekst…<br />” />

 

Of:

tekst = “<h1>Hier wat tekst.</h1>”;

tekst &= “Nog meer tekst…<br />”;

 

Deze manier is echter nogal omslachtig, omdat er erg veel code wordt gebruikt om slechts wat content te genereren. Daarnaast is het lastig te onderhouden.

Er is hiervoor een alternatief: Cfsavecontent. Met Cfsavecontent plaats je de content die je in een variabele wilt opslaan tussen het begin en het einde van de tag en hoef je je niet druk te maken om regeleindes. Door <cfoutput> erin te zetten, kun je de content ook nog parsen.

Voorbeeld:


<cfsavecontent variable="tekst" >
            #bepaalde tekst#

            <cfoutput>
                        #now()#
            </cfoutput>
</cfsavecontent>

<cfoutput>#tekst#</cfoutput>

Of:

<cfscript>

            savecontent variable="tekst2" {

                        WriteOutput("

                                   ##bepaalde tekst##

                                                                      

                                   <br />

 

                                   #now()#

                        ");

            }

</cfscript>

<cfoutput>#tekst2#</cfoutput>

Daarnaast is CFSaveContent veel sneller bij het samenstellen van lange stukken tekst, zie Don't optimise your code (annexe).

Veilig tonen informatie van derden

In het volgende artikel wordt uitgelegd welke do’s en don’ts er zijn op het gebied van het (veilig) tonen van informatie van derden op je website.


Andere blogartikelen

B2B E-commerce… Wakker worden!
Geschreven door
op dinsdag 28 juni 2022
Veel B2B-bedrijven in blijven hangen in; nauwelijks vindbare, verouderde B2B e-commerce websites met minimale conversiemogelijkheden en een betreurenswaardige gebruikerservaring. Zonde!
B2B Leadgeneratie: Alles wat je altijd al wilde weten!
Geschreven door
op maandag 27 juni 2022
B2B online leadgeneratie is het proces van het identificeren van de ideale klanten voor uw product of dienst, en hen vervolgens overhalen tot aankoop. Het is een essentiële activiteit voor B2B sales- en marketingteams.
Wat maakt een B2B webshop succesvol?
Geschreven door
op zondag 26 juni 2022
De opmars van de B2B webshop neemt toe. Regelmatig krijgen wij de vraag of er een groot verschil is tussen een consumentgerichte webshop en een puur B2B gedreven webshop. In deze blog leggen wij u uit hoe een B2B webshop succesvol kan zijn en worden.
Open Nieuwsbrief Inschrijving Footer

E-book

Zo wordt uw website een lead generator 
In 3 stappen uw website van visitekaartje naar salesfunnel

Download het E-book ›