Перейти к содержимому


Смена стандартного вида категории на табличный и обратно


  • Вы не можете ответить в тему
В этой теме нет ответов

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 14 November 2012 - 03:10 PM

Дополнение позволяет менять отображение категории со стандартного вида на табличный и обратно.


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/ - пример, как это сделано. Красная надпись в хидере категории [показать в виде таблицы]
  • 2
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)