#**
 *  Called for each matching document but then
 *  calls one of product_doc, join_doc or richtext_doc
 *  depending on which fields the doc has
 *#

#set($docId = $doc.getFieldValue('id'))

<div class="result-document">

  ## Has a "name" field ?
  #if($doc.getFieldValue('name'))
    #parse("product_doc.vm")

  ## Has a "compName_s" field ?
  #elseif($doc.getFieldValue('compName_s'))
    #parse("join_doc.vm")

  ## Fallback to richtext_doc
  #else
    #parse("richtext_doc.vm")

  #end

</div>
