Ссылки на вопросы для быстрого перехода — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
м (переименовал «Как можно вывести список вопросов над списком "вопрос-ответ" с ссылками на якоря?» в «[[Ссылки на вопросы для быстрого перех)
Строка 1: Строка 1:
Как можно вывести список вопросов над списком "вопрос-ответ" с ссылками на якоря?
+
[[Категория:Верстка в TPL]][[Категория: Модуль FAQ]]
 +
'''Актуально для версии 2.9.6'''<br/><br/>
 +
'''Задача:''' <br/><br/>
 +
'''Реализация:'''
 +
<h2>TPL-шаблонизатор</h2>
  
Для начала в шаблоне ~tpls/faq/default.tpl (внимание, инструкция написана для дефолтных шаблонов демо-версии) подредактируем блоки ['questions_block'] и ['questions_block_line']:
+
<h2>XSLT-шаблонизатор</h2>
 
 
$FORMS['questions_block'] = <<<END
 
% faq category('test')%
 
% lines%
 
% system numpages(% total%, % per_page%, 'standart')% <br/><br/>
 
<h3>Задайте свой вопрос</h3>
 
% faq addQuestionForm()%
 
END;
 
 
 
 
 
 
Мы добавили макрос % faq category('test')%, который по шаблону ~tpls/faq/test.tpl будет выводить список вопросов.
 
 
 
$FORMS['questions_block_line'] = <<<END
 
<div style="background-color: #EEEEEE; padding: 5px;">
 
<b>Вопрос:</b> <a name="% id%" title="% id%"></a>% question%
 
</div>
 
<div style="background-color: white; padding: 5px;">
 
<b>Ответ:</b> % answer%
 
</div>
 
<br /><br />
 
END;
 
 
 
 
 
 
А здесь мы к макросу % question% добавили якоря:
 
 
 
<a name="% id%" title="% id%"></a>
 
 
 
 
 
 
Теперь создаем шаблон ~tpls/faq/test.tpl, о котором шла речь выше:
 
 
 
<?php
 
$FORMS = Array();
 
$FORMS['question'] = <<<END
 
% question%
 
END;
 
$FORMS['questions_block'] = <<<END
 
<ul>% lines%</ul>
 
END;
 
$FORMS['questions_block_empty'] = <<<END
 
END;
 
$FORMS['questions_block_line'] = <<<END
 
<li><a href="#% id%">% question%</a></li>
 
END;
 
?>
 
 
 
 
 
 
Тут все просто - формируем список вопросов и добавляем ссылку на якоря.
 
 
 
P.S. Поведение данной схемы не совсем изучено. Могут возникнуть небольшие конфликты при использовании  % system numpages()%
 

Версия 12:50, 11 апреля 2014

Актуально для версии 2.9.6

Задача:

Реализация:

TPL-шаблонизатор

XSLT-шаблонизатор