Свои настройки: адрес и телефон в одном месте
Телефон студии нужен в подвале, на странице контактов и рядом с формой замера. Заведём его один раз в настройках, а шаблоны и тексты будут брать его оттуда.
Одно значение на весь сайт
Телефон меняется редко, но если меняется, то везде сразу. Если он вписан в пять мест, одно обязательно забудется, и клиенты будут звонить по старому номеру. Поэтому такие значения держат в одном месте, а остальные места на него ссылаются.
Завести настройки
Откройте Настройки → Свои настройки и нажмите Добавить ключ. Добавьте три настройки:
phone: «+7 (900) 123-45-67»;address: «Москва, Садовая улица, 12»;hours: «Шоурум открыт каждый день с 10:00 до 20:00».
Ключ пишется латиницей, по нему значение найдут шаблоны. Правки в таблице сохраняются сразу.
В подвале
Замените код компонента Footer:
<!-- @component
Подвал: название, адрес, телефон, часы шоурума и год. Контакты берутся из своих настроек сайта.
-->
<script>
import { site } from '$core';
let {
/** Строка рядом с названием */
note = 'кухни на заказ',
} = $props();
const { name, custom } = site();
const tel = custom.phone.replace(/[^+\d]/g, '');
const year = new Date().getFullYear();
</script>
<footer class="footer">
<p><b>{name}</b> · {note}</p>
<p>{custom.address} · <a href={`tel:${tel}`}>{custom.phone}</a></p>
<p>{custom.hours}</p>
<p>© {year}</p>
</footer>
<style>
.footer {
max-width: 48rem;
margin: 0 auto;
padding: 1.5rem;
color: #6b6862;
font-size: 0.9rem;
}
.footer p {
margin: 0.25rem 0;
}
.footer a {
color: inherit;
}
</style>const { name, custom } = site();: берём из настроек сайта название и свои настройки. Вcustomлежит всё, что вы завели на вкладке Свои настройки, по ключам.custom.phone.replace(/[^+\d]/g, ''): из «+7 (900) 123-45-67» остаётся «+79001234567». Такой номер понимает ссылкаtel:: на телефоне по ней можно сразу позвонить.
В тексте страницы
В шаблоне настройки берут через site().custom, а в тексте страницы для этого есть короткая запись: ключ в квадратных скобках с собакой. Откройте «Контакты» и напишите:
Адрес шоурума: [@address]
Телефон: [@phone]
[@hours]На сайте вместо [@phone] будет номер. Поменяете номер в настройках, и он поменяется и здесь, и в подвале.
