Скрипт QR-меню с вызовом официанта
Сайт QR-меню с отдельным QR-кодом для каждого стола, вызовом официанта, двумя темами оформления и панелью управления
Примечание о языках
Интерфейс сайта и панели управления доступен на турецком и английском языках. Язык сайта и язык панели выбираются отдельно в разделе «Site ayarları» (Настройки сайта); язык панели можно также переключить значком глобуса в правом верхнем углу панели.
Можно добавить и другие языки: скопируйте файл en.php в папке dil пакета и переведите его (шаги описаны в dil/OKUBENI.txt). Добавленный язык автоматически появляется в списках языков настроек сайта, а обновления не затрагивают ваши языковые файлы. Непереведённые тексты отображаются на английском; при желании их можно показывать на турецком.
Контент, который вы пишете сами (товары, категории, названия столов, текст «Hakkımızda» (О нас)), не переводится и остаётся на том языке, на котором вы его пишете. Предупреждения и форматы сумм следуют выбранному языку.
Когда на этой странице названа секция панели или сайта, название дано так, как оно выглядит в турецком интерфейсе, в кавычках, а его перевод стоит в скобках; в английском интерфейсе те же секции показаны под английскими названиями.
Для кого
Сделано для ресторанов, закусочных, кафе и кондитерских, а также для агентств, которые создают для них сайты. Гость сканирует камерой телефона QR-код на столе; меню, разбитое на категории, открывается на телефоне с ценами, а вверху страницы появляется название стола (например, Стол 5). Когда гость нажимает кнопку «Garson Çağır» (Позвать официанта), вызов с названием стола попадает на страницу «Garson Çağrıları» (Вызовы официанта) панели управления. Когда вы обновляете меню и цены в панели, напечатанный QR-код открывает то же меню; коды нужно перепечатывать, только если изменился адрес сайта или вы обновили ключ стола.
Вы задаёте столы в панели, по одному или пакетом, и для каждого стола готов отдельный QR-код. Коды скачиваются в PNG или SVG либо печатаются в виде карточек стола с вашим логотипом и названием стола. Главный код меню и отдельный код для каждой категории тоже готовы в панели.
Сайт поставляется с двумя готовыми темами оформления: «Tema 1: Uygulama» (Тема 1: Приложение) на тёмном фоне в виде мобильного приложения и «Tema 2: Kafe» (Тема 2: Кафе) в тёплых тёмных тонах с одностраничным оформлением кафе. Тему вы выбираете в панели; меню, столы и QR-коды остаются прежними. Разделы акций, блога, галереи, команды и дополнительных страниц, а также форма обратной связи тоже готовы.
Уметь программировать не нужно. Установку выполняет мастер в браузере, а содержимое вы вводите в панели управления.
Возможности и границы
Этот скрипт — сайт с QR-меню, представлением ресторана и вызовом официанта. Товары меню показываются с ценами; на сайте нет корзины, онлайн-оплаты и онлайн-заказа. Кнопка «Garson Çağır» (Позвать официанта) показывается только посетителю, пришедшему по QR-коду стола, а вызов уходит в панель управления; на телефон официанта не отправляется ни SMS, ни письмо, ни push-уведомление. Звуковой сигнал панели и число ожидающих вызовов в заголовке вкладки работают только пока страница «Garson Çağrıları» открыта в браузере; вызовы, поступившие при закрытой странице, появятся в списке, когда вы её откроете. Перед решением рекомендуем посмотреть демо.
Возможности сайта
Две темы оформления
- Выбор темы в панели: на странице «Ön yüz teması» (Тема сайта) в меню «Настройки» вы видите две темы с изображениями предпросмотра и выбираете одну. При смене темы меняется только оформление, которое видят посетители; меню, товары, столы и QR-коды остаются прежними.
- «Tema 1: Uygulama» (Тема 1: Приложение): тема на тёмном фоне в виде мобильного приложения. На главной странице разделы вроде «Меню», «Акции» и «Галерея» выстроены в виде плиток со значками; у посетителя, пришедшего по коду стола, появляется и плитка «Позвать официанта». Категории и товары расположены квадратными плитками, на плитках товаров есть плашка с ценой. Вверху находятся кнопки меню и поиска; на телефоне внизу появляется панель с кнопками «Главная» и «Назад» (у посетителей, пришедших по коду стола, посередине ещё кнопка «Позвать официанта»), а на экране компьютера эта панель скрыта.
- «Tema 2: Kafe» (Тема 2: Кафе): тема в тёплых тёмных тонах с оформлением кафе. Главная страница идёт как одна страница: большая приветственная область, категории меню, команда и раздел контактов следуют друг за другом. Категории и товары показаны строками с маленьким изображением; в строке товара видны краткое описание и цена. Вверху находятся ссылки меню и кнопка поиска, а на узком экране меню собирается за кнопкой. У посетителя, пришедшего по коду стола, справа внизу плавает кнопка «Позвать официанта». На странице товара цена показана в нижней панели.
- Ваш собственный CSS-файл: если положить файл с именем ozel.css в папку выбранной темы, он автоматически подключается на сайте; пакет обновления этот файл не затрагивает.
Меню, товары и поиск
- Категории: в теме 1 они перечислены на странице «Меню» квадратными плитками с изображением, в теме 2 — строками с изображением, названием и числом товаров. У каждой категории есть адрес, который показывает только её товары; QR-код категории открывает эту страницу.
- Список товаров: на странице категории товары показываются с изображением, названием и ценой. У товара, для которого цена не введена, цена не показывается, а товар без изображения отображается с нейтральным значком.
- Страница товара: крупное изображение, название товара, ссылка на категорию, краткое описание, подробный текст с форматированием и цена. Товар со статусом «Taslak» (Черновик) на сайте не показывается.
- Цены: вводятся и показываются в турецких лирах (₺). Если цена товара пуста или равна 0, товар показывается без цены.
- Порядок: категории и товары упорядочиваются полем «Sıra» (Порядок); меньшее число идёт первым.
- Аккуратная сетка: число колонок зависит от ширины экрана и количества элементов; по возможности колонки подбираются так, чтобы в последнем ряду не оставалось одной плитки.
- Живой поиск: посетители ищут по названию товара и краткому описанию; как только введены хотя бы две буквы, результаты открываются по ходу набора с изображением, названием, категорией и ценой (до 30 результатов). В обеих темах поле поиска открывается кнопкой с лупой вверху. Если JavaScript отключён, страница поиска всё равно работает.
Отдельный QR-код для каждого стола
- Название стола видно на странице: когда сканируется QR-код стола, открывается меню, а вверху страницы показывается название стола (например, Стол 5). Название сохраняется, пока посетитель переходит по меню и другим разделам.
- Ключ стола, который нельзя угадать: QR-адрес каждого стола (?masa=…) содержит случайно сгенерированный ключ; номер стола в адресе не встречается, поэтому изменением числа в адресе нельзя сделать вызов от имени другого стола. Если код попал в чужие руки, вы меняете ключ этого стола кнопкой «Anahtarı yenile» (Обновить ключ) в списке столов и печатаете новую карточку; администратор может также обновить ключи всех столов за один раз.
- Удалённый или обновлённый код: если отсканировать старый напечатанный код стола, удалённого в панели или с обновлённым ключом, меню откроется как обычно; не появятся только название стола и кнопка «Позвать официанта».
- Поисковые системы: адреса, относящиеся к столу, и страницы результатов поиска закрыты для поисковых систем (noindex); канонический адрес страницы не содержит стола.
Вызов официанта
- Кнопка «Позвать официанта»: посетитель, пришедший по QR-коду стола, попадает на страницу «Позвать официанта» в теме 1 через плитку на главной странице и нижнюю панель на телефоне, в теме 2 — через плавающую кнопку справа внизу, и отправляет вызов нажатием на кнопку. Посетителю, пришедшему по коду меню (без стола), кнопка не показывается; страница предлагает ему отсканировать QR-код на столе.
- Обратная связь для посетителя: после отправки вызова появляется сообщение «Garson çağrınız iletildi» (Ваш вызов официанта отправлен); страница каждые 10 секунд запрашивает состояние вызова и показывает «Garsonumuz çağrınızı yanıtladı» (Наш официант ответил на ваш вызов), когда официант отметит его в панели как «Yanıtlandı» (Отвечено). Стол, у которого есть ожидающий вызов, не может открыть второй; новый вызов возможен через минуту после последнего.
Акции, блог, галерея и команда
- Акции: карточки акций из заголовка, краткого описания и изображения. При желании вы добавляете к карточке ссылку, и карточка становится кликабельной. Акция со статусом «Taslak» (Черновик) не показывается; карточки располагаются по порядку.
- Блог: записи с объявлениями, новостями и событиями. Записи перечислены от новых к старым; у каждой записи есть изображение, дата, краткое описание и форматированное содержимое. Запись со статусом «Taslak» (Черновик) не показывается.
- Галерея: загруженные изображения располагаются маленькими квадратами; изображение, на которое нажали, открывается в большом размере в новой вкладке. К каждому изображению можно написать необязательную подпись. В галерею можно добавить до 200 изображений.
- Команда: члены команды перечислены с фотографией, именем и должностью (например, Шеф-повар, Официант). В теме 2 команда показывается и на главной странице.
- Дополнительные страницы: собственные страницы, например информационное уведомление по турецкому закону о защите персональных данных (KVKK), вы пишете в панели. Страницы, для которых вы выбрали «Alt bilgide göster» (Показывать в подвале), появляются ссылками в нижней части сайта.
О нас и контактная информация
- О нас: страница с представлением вашего заведения из заголовка и форматированного текста.
- Страница контактов: показывает адрес, телефон, который при нажатии запускает звонок, e-mail, часы работы, значки соцсетей и карту (код вставки Google Maps или OpenStreetMap); оставленные пустыми сведения не показываются. На этой же странице есть форма сообщения.
- Форма обратной связи: посетитель отправляет имя, e-mail, телефон и сообщение. Чтобы отправить её, нужно отметить флажок, которым он подтверждает, что прочитал информационное уведомление по турецкому закону о защите персональных данных (KVKK); ссылка у флажка открывает страницу, которую вы выбираете в панели. Информационное уведомление вы пишете сами; текст в примере содержимого — лишь образец. Поступившие сообщения перечислены в панели; если включены «E-posta ayarları» (Настройки e-mail), вам приходит и письмо-уведомление.
- Часы работы: вы вводите текст для каждого дня недели (например, 11:00 - 23:00 или «Kapalı» (Закрыто) для выходного дня). Текст показывается посетителю так, как вы его ввели; пустой день не показывается.
- Соцсети: ваши ссылки Facebook, X (Twitter), YouTube, Instagram и WhatsApp выводятся значками на странице контактов. Не заполненный значок не рисуется.
Внешний вид и поисковые системы
- Основной цвет: вы выбираете один основной цвет в панели. Он применяется к плиткам, кнопкам, нижней панели и активным или выбранным элементам. Цвет текста на нём подбирается автоматически, чтобы оставаться читаемым.
- Логотип, значок сайта и подвал: вы загружаете логотип и значок сайта (favicon); без логотипа название заведения выводится текстом. В подвале есть ссылки быстрого меню, строка об авторских правах и подпись.
- Подпись внизу сайта: текст «TiklaWeb tarafından geliştirildi» (Разработано TiklaWeb) в конце сайта можно изменить или убрать.
- Адаптация к мобильным: сайт подстраивается под экраны телефона, планшета и компьютера; шрифты и значки хранятся локально в пакете, внешние сервисы шрифтов и значков не вызываются.
- Свои заголовок и описание у каждой страницы: каждая страница имеет собственный заголовок («Страница | Заведение»), описание и теги для публикации в соцсетях (Open Graph). На странице товара изображение для публикации берётся из изображения товара, на странице категории — из изображения категории. Заголовок, описание и ключевые слова сайта вы вводите в разделе «Site ayarları» (Настройки сайта).
Панель управления
- «Garson Çağrıları» (Вызовы официанта): вызовы со столов перечислены как «Bekleyen çağrılar» (Ожидающие вызовы) и «Son yanıtlananlar» (Недавно обработанные); у каждого вызова видны название стола, время вызова и прошедшее время. Вы отмечаете вызов по одному или кнопкой «Tümü yanıtlandı» (Все отвечены). Страница сама обновляется каждые 15 секунд; когда приходит новый вызов, число ожидающих вызовов записывается в заголовок вкладки браузера и по желанию звучит короткий сигнал (звук и число работают только пока страница открыта в браузере). Значок в левом меню и страница «Özet» (Сводка) показывают число ожидающих вызовов. Вызовы автоматически удаляются через 7 дней.
- «Masalar» (Столы): вы добавляете, изменяете и удаляете столы; для каждого стола вводятся название (до 60 символов) и порядок, одно и то же название нельзя использовать дважды. На странице «Toplu masa oluştur» (Создать столы пакетом) вы за один раз добавляете последовательные столы, введя префикс (например, Masa), число столов и первый номер (до 200 за раз; стол с тем же названием пропускается). Всего можно задать до 500 столов. В списке столов у каждого стола есть ссылка на его QR-код и кнопка «Anahtarı yenile» (Обновить ключ); кнопка «Tüm anahtarları yenile» (Обновить все ключи) доступна только администратору.
- «QR Kod» (QR-код): в верхней части страницы находятся коды меню (главная страница и каждая категория), а ниже у каждого стола свой код. В каждом блоке есть предпросмотр, адрес, который открывает код, и кнопки скачивания: PNG размерами 512, 1024 и 2048 пикселей и SVG.
- Печать карточек стола: вид для печати доступен в форматах A6, A4 и четыре карточки A6 на листе A4 (для вырезания); на карточке — ваш логотип (если его нет, название заведения), название стола, QR-код, строка текста и адрес сайта. Текст карточек стола по умолчанию — «Menü ve garson çağırma için okutun» (Отсканируйте, чтобы открыть меню и позвать официанта), если раздел «Позвать официанта» включён, и «Menüyü görmek için okutun» (Отсканируйте, чтобы увидеть меню), если выключен; текст (до 80 символов) меняется на экране печати.
- Печать всех карточек столов: карточки всех столов печатаются по одной ссылке в формате A6, A4 или по четыре на A4. Если столов больше 100, вы выбираете диапазон столов и печатаете до 100 карточек за раз. На странице QR-кода столы выводятся по 24 на страницу и ищутся по названию; кнопки скачивания работают для каждого стола отдельно.
- Адрес QR-кода: в коды записывается адрес вашего сайта, с которого открыта панель. Если адрес изменится, коды нужно скачать и напечатать заново; адрес можно также ввести вручную и обновить коды.
- «Özet» (Сводка): числа опубликованных товаров меню, категорий, столов, ожидающих вызовов официанта, непрочитанных сообщений и товаров-черновиков, быстрая ссылка на страницу «QR Kod» (QR-код) и активная тема.
- Управление меню: для товаров вы вводите название, категорию, цену, порядок, статус (опубликован или черновик), краткое описание, подробное описание и изображение. Для категорий вводятся название, порядок и изображение. Список товаров можно отфильтровать по категории; в списках есть поиск и сортировка.
- Акции, блог, галерея, команда и содержимое сайта: для каждого раздела в панели есть страницы добавления, изменения и удаления; акции и записи блога сохраняются как «Yayında» (Опубликовано) или «Taslak» (Черновик). В разделе «Site içeriği» (Содержимое сайта) находятся «Hakkımızda» (О нас), дополнительные страницы, «Çalışma saatleri» (Часы работы) и ссылки на соцсети. В полях с форматированием используется редактор Summernote.
- «Site bölümleri» (Разделы сайта): на странице «Ayarlar > Site bölümleri» (Настройки > Разделы сайта) вы по одному включаете и выключаете разделы «Акции», «Позвать официанта», «Галерея», «Команда», «Блог», «О нас» и «Контакты»; выключенный раздел не открывается ни на сайте, ни в меню, ни по своему адресу. Меню включено всегда. Эта страница доступна только администратору.
- «Mesajlar» (Сообщения): перечислены сообщения из формы обратной связи; число непрочитанных сообщений видно в меню и на странице «Сводка». У каждого сообщения видны имя, e-mail и телефон отправителя, дата сообщения и время подтверждения информационного уведомления; сообщение можно удалить.
- «Ön yüz teması» (Тема сайта): выбор между двумя темами; доступен только администратору.
- Загрузка изображений: загружаются файлы JPG, PNG или WebP (до 8 МБ). Если на сервере включено расширение GD, изображения преобразуются в WebP, а те, у которых длинная сторона больше 1600 пикселей, уменьшаются; так меню, открытое на телефоне, загружается быстрее.
- «E-posta ayarları» (Настройки e-mail): когда вы вводите данные SMTP и включаете отправку, работают уведомление из формы обратной связи и письмо «Восстановление пароля». Настройки проверяются кнопкой «Deneme e-postası gönder» (Отправить тестовое письмо). Для вызовов официанта письма не отправляются.
- «Site ayarları» (Настройки сайта): заголовок сайта, название заведения, описание и ключевые слова, телефон, ссылка WhatsApp, e-mail, адрес, строка об авторских правах, страница информационного уведомления (KVKK), основной цвет, карта, логотип, значок сайта, поля для собственного кода, язык сайта и язык панели.
- Пользователи и права: вы добавляете учётные записи администратора и редактора. Редактор управляет вызовами официанта, сообщениями, столами, страницей «QR-код», меню, разделами акций, блога, галереи и команды и содержимым сайта; «Site ayarları», «Site bölümleri», «Ön yüz teması», «E-posta ayarları» и «Kullanıcılar» (Пользователи) в меню «Настройки» доступны только администратору. Права проверяются на сервере. Каждый пользователь меняет своё имя и пароль на странице «Profil ve şifre» (Профиль и пароль).
- Восстановление пароля: пароль сбрасывается по e-mail через ссылку на странице входа в панель (если настроены «E-posta ayarları»). Ссылка для сброса действует 1 час и используется один раз.
- Собственный код: в «Site ayarları» вы добавляете свой код (например, скрипт статистики) в верхнюю часть сайта, в начало тела страницы и в конец страницы. Эти поля доступны только администратору.
Установка и обновления
- Мастер установки из пяти шагов: требования, лицензия, база данных, данные сайта и администратора, завершение. Мастер сам проверяет ваш сервер.
- Язык установки: турецкий или английский выбирается в правом верхнем углу мастера. При установке на английском начальное и демонстрационное содержимое тоже будет на английском.
- Установка с примерами или пустая: можно начать с заполненного сайта, как в демо, с примерами категорий, товаров, столов, изображений и часов работы, и отредактировать его либо ввести содержимое с нуля.
- Обновление из панели: zip-пакет новой версии вы скачиваете в личном кабинете tiklaweb.net и загружаете на странице «Güncelleme ve lisans» (Обновление и лицензия) панели управления. Перед операцией создаётся резервная копия файлов и базы данных. При ошибке сайт возвращается в прежнее состояние. Загруженные вами изображения, настройки и содержимое сохраняются.
- Проверенные пакеты: подпись пакета обновления проверяется; устанавливаются только пакеты, скачанные с tiklaweb.net.
Подробное руководство по установке прилагается к скачиваемому пакету в виде файла KURULUM.html (на турецком языке).
Лицензия
Каждая лицензия действует для одного доменного имени, которое вы указываете при заказе. Смена доменного имени платная и выполняется по запросу в поддержку. Лицензия бесплатно не передаётся. На доменном имени без лицензии сайт не открывается, а посетитель перенаправляется на страницу с уведомлением о лицензии. Для использования на другом доменном имени нужна отдельная лицензия.
Технические характеристики
- PHP 8.2 или выше, MySQL или MariaDB
- Основа: чистый PHP, PDO и подготовленные запросы. Сайт: без фреймворка и без jQuery, у каждой из двух тем есть свой небольшой скрипт; значки — Font Awesome Free 6, шрифты (Roboto и Montserrat) хранятся локально в пакете, внешний сервис шрифтов не вызывается. Панель: Bootstrap 4, DataTables и редактор содержимого Summernote
- QR-коды создаются на вашем сервере библиотекой chillerlan/php-qrcode под лицензиями MIT и Apache-2.0; запросы к внешнему QR-сервису не отправляются. Файл PNG записывается без расширения GD
- В QR-коды записываются только собственные адреса вашего сайта вместе с номерами категорий и ключами столов; адрес сайта, введённый вручную, передаётся подписанными ссылками
- Отправка почты выполняется через PHPMailer 6.9; пароль SMTP хранится в зашифрованном виде
- Тексты интерфейса хранятся в языковых файлах пакета (турецкий и английский готовы, можно добавлять новые языки)
- Проверка CSRF при действиях в панели; ограничение числа попыток при входе в панель и сбросе пароля
- Вызов официанта: ключ стола — случайное значение из 20 символов (80 бит), а номер стола в адресе не встречается; форма вызова работает с подписанным токеном ограниченного срока; правило для каждого стола применяется в базе данных блокировкой строки (одновременные нажатия дают один вызов); с одной сети принимается не более 60 новых вызовов за 10 минут; записи о вызовах удаляются через 7 дней
- В форме обратной связи есть обязательное подтверждение информационного уведомления, подписанный токен формы, скрытое поле-ловушка и ограничение отправок (8 отправок за 10 минут)
- Тип изображений, загруженных в панели, проверяется по содержимому (JPG, PNG, WebP; до 8 МБ); в папке загрузок PHP не выполняется
- Поля форматированного текста в панели фильтруются на сервере при сохранении (HTMLPurifier); панель управления отправляет заголовок политики безопасности содержимого (CSP); пароли администраторов хранятся в виде хеша
- Поле карты принимает только адреса встраивания Google Maps и OpenStreetMap
- Шаблоны тем нельзя открыть напрямую по адресу; поисковые запросы выполняются как подготовленные, вывод экранируется
- Данные базы данных и резервные копии, если хостинг позволяет, хранятся в папке за пределами корня сайта
- Заголовки безопасности, HSTS при HTTPS; часовой пояс Europe/Istanbul
- Перед продажей проведён аудит безопасности, состоящий из проверки кода и испытаний атаками в рабочих условиях
Демо
Сайт и панель управления можно посмотреть в демо только для чтения. Ссылками «Demo teması» (Тема демо) внизу демо-сайта или добавив к адресу ?tema=tema2 можно посмотреть обе темы; этот выбор действует только в демо, а на своём сайте тему выбирают в панели. Чтобы попробовать вызов официанта, воспользуйтесь ссылкой «Garson çağırmayı denemek için örnek masayla aç» (Открыть с примером стола, чтобы попробовать вызов официанта) внизу сайта: появится название стола и кнопка «Позвать официанта». В демо вызов не сохраняется, на экране появляется сообщение о том, что вызов не сохранён; форма обратной связи показывает только сообщение об успехе и не сохраняет сообщений. В панели страницы «Garson Çağrıları» и «Mesajlar» содержат примерные записи. Демо установлено на турецком; в панели управления язык панели можно переключить на английский значком глобуса в правом верхнем углу (этот выбор хранится только в вашем браузере). Название заведения, товары, цены, столы, акции, записи и фотографии в демо — всё это примерное содержимое. В демо-панели можно открыть страницы «Masalar» (Столы) и «QR Kod» (QR-код), скачать коды и попробовать вид карточек стола; коды содержат адрес демо-сайта. Карта и ссылка WhatsApp в демо оставлены пустыми; они появятся на странице контактов, когда будут заполнены в панели.
- Сайт: https://022.tiklaweb.net
- Панель управления: https://022.tiklaweb.net/admin
- E-mail для демо: demo@tiklaweb.net
- Пароль для демо: demo1234
В демо изменения сохранить нельзя. Демо сбрасывается каждую ночь. Чувствительные страницы, такие как настройки e-mail, пользователи и формы пароля, в режиме демо не отображаются, а «Восстановление пароля» в демо отключено. Эти данные для входа действуют только для демо-сайта. В купленной установке учётную запись администратора вы задаёте сами.
Поддержка
Если что-то не получается, вы можете создать запрос в поддержку в личном кабинете tiklaweb.net или написать на destek@tiklaweb.net.
- Шаг 1, подготовка: На своём хостинге установите версию PHP 8.2 или выше и создайте пустую базу данных MySQL/MariaDB и пользователя.
- Шаг 2, файлы: Загрузите содержимое папки public_html из скачанного пакета (включая скрытый файл .htaccess) в папку публикации вашего домена.
- Шаг 3, мастер: Откройте свой домен в браузере. Мастер установки запустится автоматически; турецкий или английский можно выбрать ссылками вверху страницы.
- Шаг 4, установка: В мастере проверьте требования и лицензию, введите данные базы данных, затем данные сайта и администратора. Выберите установку с примером содержимого или пустую.
- Шаг 5, панель: Войдите по адресу вашдомен.com/admin с учётной записью администратора и заполните страницу «Site ayarları» (Настройки сайта), добавьте категории и товары в разделе «Menü» (Меню) и столы в разделе «Masalar» (Столы), скачайте коды на странице «QR Kod» (QR-код), затем попробуйте код стола, не закрывая страницу «Garson Çağrıları» (Вызовы официанта).
Подробное руководство по установке прилагается к скачиваемому пакету в виде файла KURULUM.html (на турецком языке).
2.0.0 — Первая коммерческая версия
Первая коммерческая версия скрипта QR-меню с вызовом официанта.
Добавлено
- Мастер установки в браузере (проверка требований, лицензия, база данных, шаги сайта и администратора).
- Выбор установки с примерами содержимого или пустой.
- Интерфейс на турецком и английском для сайта, панели управления и мастера установки; выбор языка в разделе «Site ayarları» (Настройки сайта); добавление нового языка копированием языкового файла.
- Лицензия, привязанная к доменному имени; на домене без лицензии сайт не открывается.
- Обновление zip-файлом из панели: автоматическая резервная копия, возврат к предыдущей версии при ошибке, сохранение содержимого и добавленных языковых файлов.
- Столы: добавление столов по одному или пакетом (всего до 500), неугадываемый QR-ключ для каждого стола, ссылка на QR-код в списке столов и обновление ключа.
- Вызов официанта: кнопка «Позвать официанта» для посетителей, пришедших по QR-коду стола, правило ожидания для каждого стола, состояние вызова для посетителя; страница «Garson Çağrıları» (Вызовы официанта) в панели (ожидающие и обработанные вызовы, обновление каждые 15 секунд, число в заголовке вкладки, необязательный звук, автоматическая очистка через 7 дней). Корзины, оплаты и заказа нет.
- Страница «QR-код» в панели: QR-код для меню (главная страница), каждой категории и каждого стола; скачивание в PNG (512, 1024, 2048 пикселей) и SVG; вид для печати A6, A4 и четыре карточки A6 на листе A4, редактируемый текст карточки; печать всех карточек столов (при более чем 100 столах — по выбранному диапазону), поиск столов и постраничный вывод. Код стола открывает меню, показывает название стола и приносит кнопку «Позвать официанта».
- Две темы оформления (Тема 1: Приложение, Тема 2: Кафе) и выбор темы в панели; добавление собственного файла ozel.css.
- Категории и витрина товаров с ценами: порядок, статус, краткое описание, форматированный текст и изображение; живой поиск по товарам. Корзины и заказа нет.
- Акции, блог, галерея, команда и дополнительные страницы; включение и выключение разделов по одному в меню «Настройки».
- О нас, контактные сведения, форма обратной связи с флажком согласия KVKK и раздел «Mesajlar» (Сообщения) в панели, часы работы и ссылки на соцсети.
- Выбор основного цвета в панели, цвет текста подбирается автоматически под фон.
- Преобразование в WebP при загрузке изображений (если включён GD) и ограничение длинной стороны 1600 пикселями.
- Изменение или удаление подписи в подвале из панели.
- Восстановление пароля: ссылка для сброса по e-mail, действует 1 час и используется один раз.
- Права пользователей: администратор и редактор.
Исправления
- Недопустимые адреса и адреса неопубликованных товаров, записей и дополнительных страниц показывают страницу 404 вместо ошибки.
- Оставленные пустыми поля изображения, соцсетей и карты на сайте не отображаются.
Безопасность
- Проверка CSRF, ограничение числа попыток и проверка прав при действиях в панели.
- Адреса столов содержат неугадываемый случайный ключ; вызов официанта работает с подписанным токеном формы ограниченного срока и ограничениями для каждого стола и каждой сети; в форме обратной связи есть подтверждение KVKK, поле-ловушка и ограничение отправок.
- В QR-коды записываются только адреса, заданные сервером; адрес сайта, введённый вручную, передаётся подписанными ссылками.
- Тип изображений, загружаемых в панель, проверяется по содержимому.
- Поля форматированного текста в панели фильтруются при сохранении, в панель добавлена политика безопасности содержимого (CSP).
- Пароли администраторов хранятся в виде хеша, пароль SMTP — в зашифрованном виде.
- Шаблоны тем нельзя открыть напрямую по адресу; поисковые запросы выполняются как подготовленные, вывод экранируется.
Руководство по установке — файл KURULUM.html внутри пакета.
Скрипт QR-меню с вызовом официанта
Рестораны и QR-меню- Сайт QR-меню с вызовом официанта. QR-код для каждого стола, две темы, меню, акции и цены в панели. Установка мастером.
| Выпущено | 2 ноября 2026 |
|---|---|
| Последнее обновление | 2 ноября 2026 |
| Версия | 2.0.0 |
| Разработано на | PHP 8.2+, MySQL/MariaDB, Düz PHP (PDO), Font Awesome 6, DataTables, Summernote, PHPMailer, php-qrcode |
| Страниц в комплекте | готовых разделов: 12 |
| Лицензия | 1 домен, пожизненное использование |
| Обновления | Включены, пока лицензия активна |
- PHP 8.2 или выше
- Расширения PHP: pdo_mysql, mbstring, openssl, curl, zip, fileinfo, json, sodium (рекомендуется gd)
- MySQL или MariaDB: новая пустая база данных. В поле сервера базы данных укажите localhost.
- Рекомендуются доменное имя и SSL-сертификат.
- Хостинг на базе Apache с поддержкой .htaccess (mod_rewrite не требуется). Если вы используете Nginx, перед установкой откройте заявку в службу поддержки.
- Папки, доступные для записи: tiklaweb, uploads
- Для уведомления из формы обратной связи и письма «Восстановление пароля» — данные SMTP, которые предоставляет ваш хостинг-провайдер (вводятся на странице «E-posta ayarları» (Настройки e-mail))
- Сайт и панель управления доступны на турецком и английском, можно добавить новый язык. Руководство по установке (KURULUM.html) на турецком языке.
Другие продукты
Посмотреть все продуктыСкрипт сайта сервиса по ремонту бытовой техники
Скрипт сайта автомойки и ухода за автомобилем
Скрипт сайта спортзала и фитнес-клуба
Скрипт сайта клининговой компании
Отдел продаж и поддержка
Есть вопрос перед покупкой или нужна помощь по действующему аккаунту? Позвоните или напишите нам.













































