.tpl側で対処ではダメですか?
data/Smarty/templates/default/sitemap/index.tpl
<!--{if $level == 1 }-->
<li class="sitemap_<!--{$level}-->">
<!--{$arrTree[cnt].category_name|escape}--><ul>
<!--{elseif $level == 3 }-->
<!--{if $firstdone == 0}-->
<!--{assign var=firstdone value=1}-->
<!--{/if}-->
<!--{else}-->
<li class="sitemap_<!--{$level}-->">
<a href="<!--{$smarty.const.SITE_URL}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id) }--> class="onlink"<!--{/if}-->>
<!--{$arrTree[cnt].category_name|escape}--><span class="mini">(<!--{$arrTree[cnt].product_count|default:0}-->)</span></a></li>
<!--{/if}-->
↓
<!--{if $level == 1 }-->
<li class="sitemap_<!--{$level}-->">
<a href="<!--{$smarty.const.SITE_URL}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id) }--> class="onlink"<!--{/if}-->>
<!--{$arrTree[cnt].category_name|escape}--><span class="mini">(<!--{$arrTree[cnt].product_count|default:0}-->)</span></a></li>
<!--{/if}-->
これで一応、第一階層のカテゴリのみ表示されました。
----------------
EC-CUBE3っぽいテンプレート
GitHub で公開中
https://github.com/bluestylejp
お問い合わせ番号CSV登録&メール送信プラグイン
http://urx.red/qDT6