var getTopTerms = ''; SELECT t.* FROM term t, term_top tt WHERE tt.facetid = AND t.taxonomyid = AND t.id = tt.termid AND t.taxonomyid = tt.taxonomyid AND t.updatestatus = 1 var csTaxObj = createObject("component", "commonspot.components.taxonomy.taxonomy"); var getTaxName = queryNew(""); select ID from taxonomy where name = if( getTaxName.recordCount ) csTaxObj.init(getTaxName.ID, "false"); return csTaxObj; var termIDList = ''; var termName = ''; var getTermIDList = ''; var taxonomyID = 1; if ( StructKeyExists(arguments,"csTaxObj") AND IsObject(arguments.csTaxObj) ) arguments.taxIDorName = arguments.csTaxObj.getID(); if ( StructKeyExists(arguments,"taxIDorName") ) { if ( IsNumeric(arguments.taxIDorName) ) taxonomyID = arguments.taxIDorName; else { // arguments.taxIDorName is a string so get the ID taxIDqry = queryExecute( "SELECT ID FROM taxonomy WHERE NAME = :taxName", { taxName="#arguments.taxIDorName#", cfsqltype="cf_sql_varchar" }, { datasource="#request.site.datasource#" } ); if ( taxIDqry.RecordCount ) taxonomyID = taxIDqry.ID[1]; } } SELECT ID AS termid FROM term WHERE name = AND TaxonomyID = AND UpdateStatus = var bind_i = 1; var getFieldValues = ""; var fieldValueList = ""; // get children term id list var facetID = arguments.csTaxObj.getFacetID(arguments.facet); var childIdArray = arguments.csTaxObj.getNarrowerTermArray(facetID, arguments.TermID, true); // Set the return data struct var retDataStruct = StructNew(); retDataStruct.bindingCount = 0; retDataStruct.pageIDList = ""; // Update the children ID array ArrayAppend(childIdArray, TermID); SELECT PageID, FieldValue as FV FROM data_FieldValue WHERE VersionState = 2 AND fieldID = AND formID = AND FieldValue <> '' AND // Replace all single quotes to make a numeric list fieldValueList = replace(getFieldValues.FV, "'", "", "all"); // If the any matches then increment binding count if ( ListFind(fieldValueList, childIdArray[bind_i]) ) { // Check if the current page id is already in the list if ( ListFind(retDataStruct.pageIDList, getFieldValues.PageID) LT 1 ) retDataStruct.pageIDList = ListAppend(retDataStruct.pageIDList, getFieldValues.PageID); // Increment the binding count retDataStruct.bindingCount = retDataStruct.bindingCount + 1; }