initial
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<cfsilent>
|
||||
<!--- build query sort string --->
|
||||
<!---v2 11:21 16.11.2020--->
|
||||
<!---v3 14:15 16.11.2020 input struct instead of array--->
|
||||
<!---v4 2024-10-15 input ANY--->
|
||||
|
||||
<cfparam name="ATTRIBUTES.sortCollection" type="any">
|
||||
<cfparam name="ATTRIBUTES.fieldCount" type="integer" default=0>
|
||||
|
||||
<cfif thisTag.executionMode IS "end" OR !thisTag.hasEndTag>
|
||||
|
||||
<cfset querySort="">
|
||||
<cfset i=1 />
|
||||
<cfloop collection=#ATTRIBUTES.sortCollection# index="item"><!--- *** Не уверен, что все будет хорошо, когда sortCollection - array, не перепутаются ли поля, порядок важен --->
|
||||
<cftry>
|
||||
<cfset sort=ATTRIBUTES.sortCollection[item] />
|
||||
<cfif (i LE ATTRIBUTES.fieldCount) OR (ATTRIBUTES.fieldCount LE 0)>
|
||||
<cfif sort.asc>
|
||||
<cfset querySort=listAppend(querySort," #sort.fld# asc")/>
|
||||
<cfelse>
|
||||
<cfset querySort=listAppend(querySort," #sort.fld# desc")/>
|
||||
</cfif>
|
||||
</cfif>
|
||||
<cfcatch type="Any">
|
||||
<cfrethrow/>
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
<cfset i=i+1 />
|
||||
</cfloop>
|
||||
|
||||
<cfif len(trim(querySort)) EQ 0>
|
||||
<cfset querySort="1 desc">
|
||||
</cfif>
|
||||
|
||||
<cfset querySort=trim(querySort)>
|
||||
|
||||
<cfif isDefined("ATTRIBUTES.output")>
|
||||
<cfset "CALLER.#ATTRIBUTES.output#"=querySort/>
|
||||
<cfelse>
|
||||
<cfset thisTag.generatedContent=querySort/>
|
||||
</cfif>
|
||||
</cfif>
|
||||
</cfsilent>
|
||||
Reference in New Issue
Block a user