Ничего себе.Меня попросили добавить 3-й уровень в древовидное меню для компании.Ниже я нашел то, что я создал около 6 месяцев назад.И хотя это работает, я никоим образом не собираюсь добавлять к нему еще один взлом cfloop.Все мои чувства говорят мне, что это просто плохой код, и нужно повторить.
Я не могу изменить базу данных, и результаты не возвращаются ни в чем другом, кроме запроса.теперь вы знаете, как это должно быть, каковы мои варианты здесь ???
Каждая запись в БД не имеет отношения, код ниже просто смотрит на имя виджета и работает, если онродитель или нет на основе:
примеров widgetName
1 = Соответствие:
2 = Соответствие: Библиотека документов:
3 = Соответствие:Библиотека документов: Все фирмы
, поэтому выше сказано, что виджет 2 должен быть на 2 уровня ниже.посмотрите на код, который вы очень плохо увидите, что было сделано ....
<cfoutput>
<ul id="root" class="menu">
<cfloop array="#rc.widgets.getPageRecords()#" index="local.widgets">
<cfif listLen(local.widgets.getwidgetName(),":") eq 1>
<li>
<a href='javascript:void(0);' childid = '#local.widgets.getwidgetID()#' class='cat_close category'> </a>
<a href='javascript:void(0);'>#local.widgets.getwidgetName()# - #listLen(local.widgets.getwidgetName(),":")#</li></a>
<cfset wordToFind = local.widgets.getwidgetName()>
<ul id='#local.widgets.getwidgetID()#'>
<cfloop array="#rc.widgets.getPageRecords()#" index="local.widgets">
<cfif listLen(local.widgets.getwidgetName(),":") eq 2 AND #find(wordToFind,local.widgets.getwidgetName())#>
<li>
<a href='javascript:void(0);' childid = '#local.widgets.getwidgetID()#' class='cat_close category'> </a>
<a href='javascript:void(0);'>#local.widgets.getwidgetName()# - #listLen(local.widgets.getwidgetName(),":")#</li></a>
</li>
</cfif>
</cfloop>
</ul>
</cfif>
</cfloop>
</ul>
</cfoutput>