Operation Manual
626
DREAMWEAVER GEBRUIKEN
Pagina's dynamisch maken
Laatst bijgewerkt 2/5/2011
<@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @>code block
<@ endloop @>
De lusinstructie accepteert een met komma's gescheiden lijst met parameterarrays als argumenten. In dit geval kan een
gebruiker met parameterarrays als argument meerdere waarden voor een enkele parameter opgeven. De
herhalingstekst wordt n keer gedupliceerd, waarbij n de lengte is van de parameterarray-argumenten. Als meer dan
één parameterarray-argument is opgegeven, moeten alle arrays even lang zijn. Bij de ide evaluatie van de lus vervangen
de ide elementen van de parameterarrays de bijbehorende parameterinstanties in het codeblok.
Wanneer u een dialoogvenster voor het servergedrag maakt, kunt u een besturingselement aan het dialoogvenster
toevoegen waarmee de paginaontwerper parameterarrays kan maken. Dreamweaver bevat een eenvoudig
arraybesturingselement dat u kunt gebruiken om dialoogvensters te maken. Dit besturingselement, de Door komma’s
gescheiden lijst van tekstvelden, is beschikbaar via de opbouwfunctie voor servergedrag. Als u complexere
gebruikersinterface-elementen wilt maken, raadpleegt u de API-documentatie voor het maken van een dialoogvenster
met een besturingselement waarmee u arrays kunt maken (bijvoorbeeld een rasterbesturingselement).
U kunt een willekeurig aantal voorwaarden of een lusinstructie in een voorwaardelijke instructie nesten. U kunt
bijvoorbeeld opgeven dat de lus wordt uitgevoerd als een bepaalde expressie waar is.
In het volgende voorbeeld ziet u hoe een dergelijke herhaling van codeblokken kan worden gebruikt om servergedrag
te maken (het voorbeeld is een ColdFusion-gedrag dat wordt gebruikt om toegang te krijgen tot een opgeslagen
procedure):
<CFSTOREDPROC procedure="AddNewBook"
datasource=#MM_connection_DSN#
username=#MM_connection_USERNAME#
password=#MM_connection_PASSWORD#>
<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryID#"
cfsqltype="CF_SQL_INTEGER">
<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"
cfsqltype="CF_SQL_VARCHAR">
</CFSTOREDPROC>
In dit voorbeeld kan de CFSTOREDPROC-tag nul of meer CFPROCPARAM-tags bevatten. Zonder de lusinstructie is het
echter niet mogelijk om de
CFPROCPARAM-tags in de ingevoegde CFSTOREDPROC-tag op te nemen. Als dit zonder
lusinstructie als een servergedrag moest worden gemaakt, had u dit voorbeeld in twee deelnemers moeten verdelen:
een hoofdtag
CFSTOREDPROC en een CFPROCPARAM-tag met een meervoudig deelnemerstype.
Met de lusinstructie kunt u dezelfde procedure als volgt schrijven:
<CFSTOREDPROC procedure="@@procedure@@"
datasource=#MM_@@conn@@_DSN#
username=#MM_@@conn@@_USERNAME#
password=#MM_@@conn@@_PASSWORD#>
<@ loop (@@paramName@@,@@value@@,@@type@@) @>
<CFPROCPARAM type="IN"
dbvarname="@@paramName@@"
value="@@value@@"
cfsqltype="@@type@@">
<@ endloop @>
</CFSTOREDPROC>
Opmerking: Nieuwe regels na '@>' worden genegeerd.
Als de gebruiker de volgende parameterwaarden in het dialoogvenster Servergedrag heeft ingevoerd: