Files
new.rybstock.ru/docs/ШАГ_3_PHP_КЛАССЫ.md
T
2026-06-04 00:27:17 +03:00

4.8 KiB
Raw Blame History

Шаг 3. Первые PHP-классы и вывод данных

Что сделано

Созданы первые классы для работы сайта на чистом PHP:

  • app/Controllers/HomeController.php
  • app/Repositories/BaseRepository.php
  • app/Repositories/CategoryRepository.php
  • app/Repositories/ProductRepository.php
  • app/Repositories/ProductVariantRepository.php
  • app/Repositories/SettingRepository.php

Главная страница больше не содержит бизнес-логику напрямую. Теперь public/index.php вызывает HomeController, а контроллер получает данные через репозитории.

Также в базовый layout добавлены:

  • meta title;
  • meta description;
  • meta keywords;
  • хлебные крошки;
  • кнопка "Вернуться назад".

Что выводится на главной

Главная страница теперь показывает:

  • статус подключения к MariaDB;
  • категории из таблицы categories, строго по дереву старого сайта;
  • вложенность категорий до третьего уровня;
  • каталог товаров прямо на главной странице;
  • настройки доставки из таблицы site_settings;
  • блок популярных товаров из опубликованных товаров и фасовок.
  • градации выгодной цены: базовая цена, цена от 20 000 руб. наличными, цена от 50 000 руб. наличными.

Если таблицы еще не установлены, сайт не падает, а показывает сообщение с подсказкой.

Что добавлено в админку

admin/index.php теперь показывает стартовую сетку разделов будущей панели:

  • Товары;
  • Категории;
  • Фасовки;
  • Заказы;
  • Промокоды;
  • Акции;
  • Популярные товары;
  • Отзывы;
  • Настройки;
  • Прайс-лист.

Это пока не полноценная админка, а основа навигации для следующих шагов.

Что добавлено для цен

В promocodes добавлены поля:

  • show_in_price_tiers;
  • price_tier_label.

Создан app/Services/PriceTierService.php, который считает отображаемые цены для карточки товара:

  • базовая цена;
  • минус 5% при заказе от 20 000 руб. за наличный расчет;
  • минус 7% при заказе от 50 000 руб. за наличный расчет.

Это не отменяет ввод промокода в корзине. Это только понятная подсказка в каталоге, чтобы человек заранее видел выгоду крупного заказа.

Что нужно проверить

  1. Если база еще не установлена, открыть /install.php?token=rybstock-local-install.
  2. После установки открыть главную страницу.
  3. На главной должны появиться стартовые категории из database/seed.sql.
  4. Открыть /admin/ и проверить стартовые разделы админки.

Стартовые категории:

  • Рыба;
  • Рыбное филе;
  • Рыбные стейки;
  • Охлажденная рыба;
  • Малосольная рыба;
  • Копченая рыба;
  • Вяленая рыба;
  • Морепродукты;
  • Фрукты, овощи, ягоды, грибы;
  • Икра;
  • Бакалея;
  • Полуфабрикаты;
  • Мясная гастрономия;
  • Мясо;
  • Сыры;
  • Молочная продукция.

Важно: названия категорий уже приведены к старому дереву. Для полного сохранения индексации еще нужны точные старые URL категорий и товаров. В схеме для этого предусмотрены legacy_path и таблица redirects.

Следующий шаг

Шаг 4:

  1. Сделать базовый роутинг для страниц сайта.
  2. Создать страницу полного каталога.
  3. Вывести категории и товары из базы.
  4. Подготовить первые формы админки для категорий и товаров.

Перенос товаров вынесен в отдельный документ: docs/ПЛАН_ПЕРЕНОСА_ТОВАРОВ.md.