Ця документація описує основні аспекти роботи з темплейтами, включаючи виведення title, description, контенту, FAQ та інших елементів.
Щоб відобразити title
для сторінки, використовуйте наступний код:
<title><?= getTitle($page) ?></title>
Для відображення мета-опису сторінки скористайтеся:
<meta name="description" content="<?= getDescription($page) ?>">
Для блоку h1 сторінки використовуйте:
<h1><?= getH1($page) ?></h1>
<?
if (!empty(getContentText($page))) : ?>
<section>
<div>
<?= getContentText($page) ?>
</div>
</section>
<? endif; ?>
Для блоку автора сторінки використовуйте:
<section>
<h2><?= !empty(getAuthor($page)) ? getAuthor($page) : 'Про автора' ?></h2>
<div>
<?= getAuthorText($page) ?>
</div>
</section>
<?
if (!empty(getSeoText($page))) : ?>
<section>
<div>
<?= getSeoText($page) ?>
</div>
</section>
<? endif; ?>
Якщо потрібно відобразити блок FAQ, скористайтеся таким кодом:
<?
$faq = getFAQ($page);
if (isset($faq['faqContent'])) : ?>
<section>
<h2><?= $faq['faqTitle'] ?? 'FAQ' ?></h2>
<? foreach ($faq['faqContent'] as $item) : ?>
<div>
<h3><?= htmlspecialchars($item['question'], ENT_QUOTES, 'UTF-8') ?></h3>
<p><?= htmlspecialchars($item['answer'], ENT_QUOTES, 'UTF-8') ?></p>
</div>
<? endforeach; ?>
</section>
<? endif; ?>
Якщо потрібно відобразити блок Reviews, скористайтеся таким кодом:
<?
$review = getReview($page);
if (isset($review['reviewContent'])) : ?>
<section>
<h2><?= $review['reviewTitle'] ?></h2>
<? foreach ($review['reviewContent'] as $item) : ?>
<div>
<strong><?= $item['name'] ?></strong>
<p><?= $item['review'] ?></p>
</div>
<? endforeach; ?>
</section>
<? endif; ?>
Якщо необхідно вивести контент для footer:
<?
if (!empty(getFooterText($page))) : ?>
<footer>
<div><?= getFooterText($page) ?></div>
</footer>
<? endif; ?>
Якщо необхідно вивести Partner Url:
<?= $this->site->getPartnerUrl() ?>
Приклад використання:
<a href="<?= $this->site->getPartnerUrl() ?>">Partner Url</a>
Якщо в нас вже підключений jquery, то перший рядок вже не потрібно добавляти.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script>
$(document).on('click', '[data-link], button:not(.ignore), a:not(.ignore), .go', function () {
var url = '<?= $this->site->getPartnerUrl() ?>';
var target = $(this).attr('target');
window.open(url, target ? target : '_self');
});
</script>
!!! Даний код добавляємо в кінці сторінки перед данними тегами:
</body>
</html>
Якщо необхідно вивести yandex metrics: Детально про файл можете переглянути в вкладці yandex-metriks
<?php
include public_path('/templates/common/yandex-metriks.php');
?>
Якщо необхідно вивести head-for-all-site: Детально про файл можете переглянути в вкладці head-for-all-site
<?php
include public_path('/templates/common/head-for-all-site.php');
?>
Для отримання довільного параметра сторінки використовуйте:
<?= getParameterValue($page, 'parameterCode') ?>
<?
$faq = getFAQ($page);
if (isset($faq['faqContent'])) : ?>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
<?php foreach ($faq['faqContent'] as $key => $item) : ?>
{
"@type": "Question",
"name": "<?= htmlspecialchars($item['question'], ENT_QUOTES, 'UTF-8') ?>",
"acceptedAnswer": {
"@type": "Answer",
"text": "<?= htmlspecialchars($item['answer'], ENT_QUOTES, 'UTF-8') ?>"
}
}<?= $key < count($faq['faqContent']) - 1 ? ',' : '' ?>
<?php endforeach; ?>
]
}
</script>
<? endif; ?>