While VirtueMart templates are different from each other, they actually follow a definite pattern. To understand how the template is structured, probably the best way is to look at a sample.
Let's take a look at the file
browse_1.tpl.php as an example. This is one of the core browse templates. The full text of this file is as follows (with line numbers added):
1. <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 2. mm_showMyFileName(__FILE__); 3. ?> 4. <div class="browseProductContainer"> 5. <h3 class="browseProductTitle"><a title="<?php echo $product_name ?>" href="<?php echo $product_flypage ?>"> 6. <?php echo $product_name ?></a> 7. </h3> ...