Ранжирование регулируется прикрученной характеристикой. Конечно сделано топорно, но без этой фишки на платную основу организации не поставиш в каталог.
собственно сам код шаблона com_inmaps_items.tpl
для того чтоб заработало создаем характеристику с тремя значениями vip standart base и в коде меняем char_id на id вашей новой хар-ки.
Надеюсь кому то будет полезно😊
{if $cfg.ratings}
{add_js file='components/maps/js/rating/jquery.MetaData.js'}
{add_js file='components/maps/js/rating/jquery.rating.js'}
{add_css file='components/maps/js/rating/jquery.rating.css'}
{/if}
<div class="maps_items_list" style="clear:both">
{foreach key=num item=item from=$items}
{assign var="item_id" value=$item.id}
{php}
$this->_tpl_vars['value'] = dbGetField("cms_map_chars_val",
"char_id=39 AND item_id={$this->_tpl_vars['item_id']}", 'val');
{/php}
{if $value == "|vip|"}
<table cellpadding="0" cellspacing="0" border="0" class="maps_item">
<tr>
{if $cfg.show_thumb}
<td valign="top" class="img_td">
<a href="/maps/{$item.seolink}.html">
<img src="/images/photos/small/{$item.filename}" border="0" class="img_list" />
</a>
{if $cfg.ratings}
<div class="rating" style="margin-top:10px">
<form action="/maps/rate" method="POST">
<input type="hidden" name="item_id" value="{$item.id}" />
{section name=rate start=1 loop=6 step=1}
<input name="rate" type="radio" class="star" value="{$smarty.section.rate.index}" {if $item.rating>=$smarty.section.rate.index}checked="checked"{/if} {if !$is_user || $item.user_voted}disabled="disabled"{/if} />
{/section}
</form>
{if $item.rating}
<small>{$item.rating}</small>
{/if}
</div>
{/if}
</td>
{/if}
<td valign="top" class="details_td">
<div class="details">
<div class="titlev">
<a href="/maps/{$item.seolink}.html">{$item.title}</a>
{if $cfg.show_vendors && $item.vendor}/ <a href="/maps/vendors/{$item.vendor_id}" class="vendor">{$item.vendor}</a>{/if}
{if $cfg.show_compare}
<span class="compare">
{if !$item.is_in_compare}
<a class="add" href="/maps/compare/{$item.id}">{$LANG.MAPS_COMPARE_ADD}</a>
{else}
{$LANG.MAPS_COMPARE_ITEM_IN} <a href="/maps/compare.html">{$LANG.MAPS_COMPARE_IN}</a>
{/if}
</span>
{/if}
{if $item.can_edit}
<span class="edit">
<a href="/maps/edit{$item.category_id}-{$item.id}.html">{$LANG.MAPS_EDIT_OBJECT}</a>
</span>
{/if}
</div>
<div class="address" id="addr_main{$item.id}">
<span><b>Адрес:</b>
{if $cfg.mode=='world'}
{$item.address}
{else}
{$item.map_address}
{/if}
</span>
{if sizeof($item.addresses) > 1}
<a href="javascript:" class="ajaxlink" onclick="{literal}${/literal}('#addr_main{$item.id}').hide();{literal}${/literal}('#addr_all{$item.id}').show();">все адреса</a>
{/if}
</div>
<div class="addresses" style="display:none" id="addr_all{$item.id}">
{foreach key=m item=address from=$item.addresses}
<div class="address">
<span>
{if $cfg.mode=='world'}
{$address.full}
{else}
{$address.short}
{/if}
</span>
</div>
{/foreach}
</div>
{if $item.contacts.phone || $item.contacts.url || $item.contacts.email }
<ul class="list_cont">
{if $item.contacts.phone}<li><strong>{$LANG.MAPS_CONTACTS_PHONE}:</strong> {$item.contacts.phone}</span></li>{/if}
{if $item.contacts.url}<li><strong>{$LANG.MAPS_CONTACTS_URL}:</strong> <a href="{$item.contacts.url}" target="_blank">{$item.contacts.url_short}</a></li>{/if}
{if $item.contacts.email}<li><strong>{$LANG.MAPS_CONTACTS_EMAIL}:</strong> <a href="mailto:{$item.contacts.email}">{$item.contacts.email}</a></li>{/if}
</ul>
{/if}
{if $cfg.show_desc}
<p>{$item.shortdesc|truncate:300|strip_tags:false}</p>
{/if}
</td>
</tr>
</table>
{/if}
{/foreach}
{foreach key=num item=item from=$items}
{assign var="item_id" value=$item.id}
{php}
$this->_tpl_vars['value'] = dbGetField("cms_map_chars_val",
"char_id=39 AND item_id={$this->_tpl_vars['item_id']}", 'val');
{/php}
{if $value == "|standart|"}
<table cellpadding="0" cellspacing="0" border="0" class="maps_item" >
<th valign="top" colspan="2" align="left">
<div class="titles"><img width="24" height="24" src="/images/favorites.png" alt="" style="float:left;" />
<a href="/maps/{$item.seolink}.html">{$item.title}</a>
{if $cfg.show_vendors && $item.vendor}/ <a href="/maps/vendors/{$item.vendor_id}" class="vendor">{$item.vendor}</a>{/if}
{if $cfg.show_compare}
<span class="compare">
{if !$item.is_in_compare}
<a class="add" href="/maps/compare/{$item.id}">{$LANG.MAPS_COMPARE_ADD}</a>
{else}
{$LANG.MAPS_COMPARE_ITEM_IN} <a href="/maps/compare.html">{$LANG.MAPS_COMPARE_IN}</a>
{/if}
</span>
{/if}
{if $item.can_edit}
<span class="edit">
<a href="/maps/edit{$item.category_id}-{$item.id}.html">{$LANG.MAPS_EDIT_OBJECT}</a>
</span>
{/if}
</div>
</th>
<tr>
<td width="300px">
<div class="details">
<div class="address" id="addr_main{$item.id}">
<span><b>адрес:</b>
{if $cfg.mode=='world'}
{$item.address}
{else}
{$item.map_address}
{/if}
</span>
{if sizeof($item.addresses) > 1}
<a href="javascript:" class="ajaxlink" onclick="{literal}${/literal}('#addr_main{$item.id}').hide();{literal}${/literal}('#addr_all{$item.id}').show();">все адреса</a>
{/if}
</div>
<div class="addresses" style="display:none" id="addr_all{$item.id}">
{foreach key=m item=address from=$item.addresses}
<div class="address">
<span>
{if $cfg.mode=='world'}
{$address.full}
{else}
{$address.short}
{/if}
</span>
</div>
{/foreach}
</div>
{if $item.contacts.phone || $item.contacts.url || $item.contacts.email }
<ul class="list_cont">
{if $item.contacts.phone}<li><strong>{$LANG.MAPS_CONTACTS_PHONE}:</strong> {$item.contacts.phone}</span></li>{/if}
</ul>
{/if}</div></td>
<td>{if $cfg.show_desc}
<div class="desc">{$item.shortdesc|truncate:200|strip_tags:false}</div>
{/if}</td>
</tr>
</table>
{/if}
{/foreach}
{foreach key=num item=item from=$items}
{assign var="item_id" value=$item.id}
{php}
$this->_tpl_vars['value'] = dbGetField("cms_map_chars_val",
"char_id=39 AND item_id={$this->_tpl_vars['item_id']}", 'val');
{/php}
{if $value == "|base|" || !$value}
<table cellpadding="0" cellspacing="0" border="0" class="maps_item">
<tr>
<td valign="top" class="details_td">
<div class="details">
<div class="title">
<a href="/maps/{$item.seolink}.html">{$item.title}</a>
{if $cfg.show_vendors && $item.vendor}/ <a href="/maps/vendors/{$item.vendor_id}" class="vendor">{$item.vendor}</a>{/if}
{if $cfg.show_compare}
<span class="compare">
{if !$item.is_in_compare}
<a class="add" href="/maps/compare/{$item.id}">{$LANG.MAPS_COMPARE_ADD}</a>
{else}
{$LANG.MAPS_COMPARE_ITEM_IN} <a href="/maps/compare.html">{$LANG.MAPS_COMPARE_IN}</a>
{/if}
</span>
{/if}
</div>
<div class="address" id="addr_main{$item.id}">
<span><b>адрес:</b>
{if $cfg.mode=='world'}
{$item.address}
{else}
{$item.map_address}
{/if}
</span>
{if sizeof($item.addresses) > 1}
<a href="javascript:" class="ajaxlink" onclick="{literal}${/literal}('#addr_main{$item.id}').hide();{literal}${/literal}('#addr_all{$item.id}').show();">все адреса</a>
{/if}
</div>
<div class="addresses" style="display:none" id="addr_all{$item.id}">
{foreach key=m item=address from=$item.addresses}
<div class="address">
<span>
{if $cfg.mode=='world'}
{$address.full}
{else}
{$address.short}
{/if}
</span>
</div>
{/foreach}
</div>
</div>
</td>
</tr>
</table>
{/if}
{/foreach}
</div>
{if $pages>1}
<div class="maps_pages">
{$pagebar}
</div>
{/if}
{if $cfg.ratings}
<script type="text/javascript">
{literal}
$('.star').rating({
callback: function(value, link){
this.form.submit();
}
});
{/literal}
</script>
{/if}
{/if}