рендеринг столбцов БД в результатах cfsearch - PullRequest
0 голосов
/ 08 февраля 2011

Ниже приведен код, который выполняет индекс, и код cfsearch, который читает

Индекс:

<cfquery name="Qryname" datasource="dsnnane">
SELECT id, eid, title
FROM tbl1
</cfquery>

<cfindex  
    query="Qryname" 
    collection="events" 
    action="Update" 
    type="Custom" 
    title="title" 
    key="id" 
    body="eid,title">

Результаты поиска

    <cfsearch   
    collection="events" 
    name="Qryname" 
    criteria="#Form.Criteria#"> 

    <!--- Output the record set. ---> 
    <cfoutput> 
    Your search returned #Qryname.RecordCount# result(s). 
    </cfoutput> 

    <cfoutput query="Qryname"> 
    <a href="page.cfm?eid=#eid#">#title#</a>

    </cfoutput>

Проблема заключается вчто я могу вывести только столбец, который я указал в качестве заголовка в cfindex.Если я пытаюсь вывести любой другой столбец, отличный от того, который я указал в качестве заголовка, система говорит, что var не определен.

В этом случае он говорит, что eid не определен.

Iсм. в документации, что значения столбцов могут быть выведены

См. часть 3 в «Поиск и отображение результатов запроса», которая находится в разделе «Индексирование данных, возвращаемых запросом»

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7b35.html

Есть идеи?

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Решением является использование пользовательских полей в cfindex.Если вы прочитаете ссылку на cfindex, вы увидите, что она поддерживает до 4 настраиваемых полей, от custom1 до custom4.

Просто назначьте столбец таблицы db одному из настраиваемых полей, переиндексируйте,затем получите доступ к этому настраиваемому полю в cfsearch

<cfindex  
    query="Qryname" 
    collection="events" 
    action="Update" 
    type="Custom" 
    title="title" 
    key="id" 
    body="eid,title"
    custom1="eid">

cfsearch:

<cfoutput query="Qryname"> 
<a href="page.cfm?eid=#custom1#">#title#</a>
</cfoutput>
1 голос
/ 09 февраля 2011

Я бы начал с:

<cfdump var="#Qryname#" />

Чтобы посмотреть, что возвращается из cfsearch.

...