Редагування Темплейтів

Ця документація описує основні аспекти роботи з темплейтами, включаючи виведення title, description, контенту, FAQ та інших елементів.


Виведення Title

Щоб відобразити title для сторінки, використовуйте наступний код:

<title><?= getTitle($page) ?></title>

Виведення Description

Для відображення мета-опису сторінки скористайтеся:

<meta name="description" content="<?= getDescription($page) ?>">

Інтеграція H1

Для блоку h1 сторінки використовуйте:

<h1><?= getH1($page) ?></h1>

Відображення основного контенту сторінки

<?
if (!empty(getContentText($page))) : ?>
    <section>
        <div>
            <?= getContentText($page) ?>
        </div>
    </section>
<? endif; ?>

Інтеграція Author

Для блоку автора сторінки використовуйте:

<section>
    <h2><?= !empty(getAuthor($page)) ? getAuthor($page) : 'Про автора' ?></h2>
    <div>
        <?= getAuthorText($page) ?>
    </div>
</section>

Відображення SEO тексту сторінки

<?
if (!empty(getSeoText($page))) : ?>
    <section>
        <div>
            <?= getSeoText($page) ?>
        </div>
    </section>
<? endif; ?>

Рендеринг FAQ

Якщо потрібно відобразити блок 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

Якщо потрібно відобразити блок 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

Якщо необхідно вивести контент для footer:

<?
if (!empty(getFooterText($page))) : ?>
    <footer>
        <div><?= getFooterText($page) ?></div>
    </footer>
<? endif; ?>

Інтеграція Partner Url (варіант 1)

Якщо необхідно вивести Partner Url:

<?= $this->site->getPartnerUrl() ?>

Приклад використання:
<a href="<?= $this->site->getPartnerUrl() ?>">Partner Url</a>

Інтеграція Partner Url (варіант 2)

Якщо в нас вже підключений 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 metrics: Детально про файл можете переглянути в вкладці yandex-metriks

<?php
include public_path('/templates/common/yandex-metriks.php');
?>

Інтеграція head-for-all-site

Якщо необхідно вивести 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; ?>