1. в файле category.php
после строки
$smarty->assign( "main_content_template", "category.tpl.html");
вставляем
if (isset($_POST['TplName'])) $_SESSION['TplName']= $_POST['TplName'];
if (isset($_SESSION['TplName'])) $smarty->assign( "main_content_template", $_SESSION['TplName']);
2. в файле category.tpl.html
вместо строки
{if $isadmin eq "yes"}{assign var="postheader" value=`$preheader``$categoryName`}{else}{assign var="postheader" value=$categoryName}{/if}
вставляем
{assign var="tplheader" value="<a href='#' title='Table View' style='float: right; color: green;' onclick='document.getElementById(\"TplNameForm\").submit();return false;'>[ показать в виде таблицы ]</a>"}
{if $isadmin eq "yes"}{assign var="postheader" value=`$preheader``$categoryName`}{else}{assign var="postheader" value=`$tplheader``$categoryName`}{/if}
<form action="#" method=post name="TplNameForm" id="TplNameForm">
<input type="hidden" name="TplName" value="category-table.tpl.html">
</form>
3. в файле category-table.tpl.html, который Вы будете использовать в качестве шаблона табличного вида категории
делаем абсолютно аналогичную [2] замену (преполагается, что структура этого шаблона такая же) но, естественно, вместо "показать в виде таблицы" пишем "показать в стандартном виде", имя шаблона меняем на "category.tpl.html", а title на "Standard View".
Я использовал в качестве этого шаблона прикладываемый к модулю "Выбор шаблона категории".
http://cpu.badisoft.ru/BookReaders/ - пример, как это сделано. Красная надпись в хидере категории [показать в виде таблицы]