Ссылки на вопросы для быстрого перехода

Материал из Umicms
Версия от 13:09, 11 апреля 2014; Stexe (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

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

Задача: Вывести список ссылок для быстрого перехода к соответствующему блоку "вопрос-ответ" при помощи якорей

Реализация:
Для вывода блока "вопрос-ответ" используется макрос %faq category()%. Для реализации описанной задачи вопросы-ответы должны отображаться с игнорированием постраничного вывода, то есть для параметра ignore_paging макроса %faq category()% должно быть указано значение '1'.
В блок 'questions_block' (по умолчанию в файле tpls\faq\default.tpl) добавим код для вывода списка ссылок:

<div>
    %faq category('list', %id%)%
</div>

В блоке 'questions_block_line' вывода вопроса оформим следующим образом:

<div id="%alt_name%">
    <b>Вопрос:</b> %question%
</div>

После добавления описанного выше кода для каждого блока "вопрос-ответ" в атрибуте id будет указан псевдостатический адрес вопроса.
Создадим файл tpls\faq\list.tpl и добавим в него блоки вывода списка ссылок для быстрого перехода:

<?php

$FORMS = Array();

$FORMS['questions_block'] = <<<END
<ul>
	%lines%
</ul>
END;

$FORMS['questions_block_empty'] = <<<END
	<p>Вопросов данной категории пока нет.</p>
END;

$FORMS['questions_block_line'] = <<<END
<li>
    <a href="#%alt_name%">%question%</a><br />
</li>
END;


?>

В итоге при переходе по ссылкам из списка будет происходить прокрутка страницы до соответствующего блока "вопрос-ответ".