Manuals
RU EN

Продукты · 37

Скрипт каталога товаров на PHP

Продукты 5 мин чтения

Скрипт каталога товаров на PHP показывает категории, карточки, фильтры и цены. Если к этому прикручены корзина и оплата — вы уже в зоне интернет-магазина. Если нет — это витрина: удобно для прайса, дилеров, B2B «цены по запросу», но это не касса.

Путаница в брифах постоянная. Ниже — как собрать витрину так, чтобы её не стыдно отдавать, и когда пора апгрейдиться до полного магазина.

Минимум витрины

  • Дерево категорий с ЧПУ.
  • Карточка: название, цена или «по запросу», фото, описание, артикул.
  • Листинг с пагинацией и сортировкой (цена, новизна).
  • Фильтры, которые не падают на пустой выдаче.
  • Поиск по названию/артикулу без full scan на миллион строк (индексы).

Постоянный URL карточки обязателен — его отправляют клиенту в мессенджер. Битые ссылки после смены названия лечатся slug + id или редиректами.

Фильтры: сделайте скучно, но правильно

На старте хватает:

  1. Цена от–до.
  2. Наличие (в наличии / под заказ).
  3. 2–3 атрибута ниши (бренд, материал, мощность).

Не делайте 40 чекбоксов на главной категории с тремя товарами. Пустой результат — нормальный экран «ничего не найдено», не 500 и не вечная загрузка. Если атрибуты живут на вариантах SKU — читайте варианты товара.

SEO фильтров. Каждая комбинация фильтра как индексная страница — путь к тысячам тонких URL. Индексируйте категории и карточки; фасетные хвосты чаще noindex или аккуратно по правилам.

Карточка товара глазами менеджера

Менеджер с телефона должен увидеть цену, наличие, артикул и кнопку действия: «в корзину» или «запросить счёт» / «написать». Галерея — как в классифайде, только объект другой: подходы к фото похожи (превью, лимиты), но водяной знак и модерация чужих авторов здесь обычно не нужны.

Связанные товары внизу карточки работают лучше баннера «акция» на всю ширину. Не перегружайте первый экран карточки таблицами характеристик на 50 строк — спрячьте в таб.

Когда каталога достаточно

  • Оптовый прайс с договорными ценами.
  • Демонстрация линейки перед звонком менеджера.
  • Внутренний портал для дилеров с авторизацией.
  • Пока логистика и оплата живут в 1С/ручном счёте.

Как только менеджеры тонут в «забронируйте мне вот это в чате» — нужен заказ в системе. Переход: корзина → checkout → статусы. См. магазин и checkout.

Админка каталога без сюрпризов

  1. Массовое редактирование цен и остатков (csv или таблица).
  2. Черновик товара не светится на сайте.
  3. Удаление категории не убивает товары молча — предупреждение или перенос.
  4. История кто поменял цену — спасает от «я не трогал».
  5. Импорт фото пачкой в карточку.

Остаток «общий» на товаре с размерами врёт всегда. Если размеры есть — остатки на SKU.

Производительность и кэш

Листинги любят кэш страниц или кэш запросов. После смены цены сбрасывайте кэш категории, иначе клиенты видят старое. Картинки — thumbnails, не оригиналы 4000px. На shared следите за лимитом inode, если фото много.

Связка с полным ecommerce

Каталог — фундамент. Ecommerce-скрипт на хостинге — обзор. Доставка и оплата появляются, когда витрина уже стабильна: доставка, ЮKassa, промокоды.

Скрипт каталога товаров на PHP честно закрывает витрину. Не называйте его магазином в рекламе, пока нет заказа в админке. Зато как витрина с фильтрами и ЧПУ он должен работать быстро и предсказуемо — иначе до корзины пользователь не дойдёт даже после апгрейда.

Карточка для SEO и для менеджера

Title и H1 совпадают с названием товара по смыслу, не «купить недорого оптом». В описании — факты и применение, не простыня ключей. Артикул и наличие видны без скролла. Для B2B добавляю поле «кратность» и «мин. партия», даже если заказа ещё нет: менеджеры копируют карточку в КП. Микроразметку Product включаю, когда цены реальные и не прыгают каждую минуту из-за кривого импорта.

  • 404 на старых slug — с редиректом, не с «похожими товарами» без объяснения.
  • Нет в наличии — карточка открывается, кнопка действия меняется, не выкидываем в 404.
  • PDF-прайс выгружается из тех же данных, что витрина, иначе через неделю врут цифры.

Импорт и дисциплина данных

Боль каталога — csv из Excel с «как получится». Правила импорта фиксирую:

  1. Артикул — уникальный ключ.
  2. Цена — точка/запятая в одном формате.
  3. Категории — по id или по пути, не по «похожему названию».
  4. Пустая ячейка остатка не значит «обнулить», если не договорились иначе.

Сухой прогон на копии БД обязателен. После боевого импорта — выборочно 10 карточек глазами и листинг фильтра. Каталог без дисциплины данных превращается в витрину ошибок; скрипт тут ни при чём. Когда появится корзина, кривые остатки станут уже денежными ошибками — лучше вычистить сейчас.

Права доступа к витрине

B2B-каталог часто закрывают авторизацией: дилер видит свой столбец цен. Тогда проверяйте, что гость не видит «оптовые» цифры в HTML и в JSON поиска. Кэш страниц для авторизованных — осторожно: легко показать чужую цену. Для открытой розницы кэш листингов наоборот полезен. Скрипт каталога товаров на PHP должен явно разделять эти режимы, иначе через месяц поймаете утечку прайса или «мигание» цен после логина.

Итого: каталог — фундамент магазина или самостоятельная витрина. Держите ЧПУ, фильтры, импорт и честные статусы наличия. Не называйте его кассой, пока нет заказа. Зато как витрина он обязан быть быстрым и аккуратным — иначе апгрейд до корзины не спасёт первое впечатление.

Пустые состояния и поиск

Экран «ничего не найдено» должен предлагать сброс фильтров и переход в родительскую категорию, а не пустую белизну. Поиск по артикулу — святое для менеджеров и повторных покупателей. Скрипт каталога товаров на PHP, где поиск находит только «красивые названия» и игнорирует код поставщика, на практике раздражает сильнее кривой вёрстки.

Подсказки поиска держите скромными: 5–8 позиций, без тяжёлых запросов на каждый символ без debounce. Витрина должна оставаться быстрой. Когда каталог честный и быстрый, апгрейд до корзины проходит мягче: люди уже привыкли к карточкам и URL, остаётся добавить деньги в конце пути.

Частые вопросы

Скрипт каталога товаров php?

Каталог без корзины — витрина. С корзиной и заказом — уже магазин.

Сколько времени занимает «Скрипт каталога товаров на PHP»?

Ориентир по тексту мануала — около 5 мин. На практике зависит от хостинга и подготовки базы.

Нужен ли отдельный сервер?

Для большинства скриптов достаточно хостинга или VDS с PHP и MySQL. Подбор сервера — в разделе VDS и требованиях к PHP/MySQL.

Готовый магазин без wordpress?

Разбор рядом в мануале по этому запросу. готовый магазин без wordpress

Как настроить корзину и оплату в скрипте магазина?

Разбор рядом в мануале по этому запросу. как настроить корзину и оплату в скрипте магазина

Раздел
Скрипт интернет-магазина

От каталога до оплаты и доставки — контур ecommerce на PHP/MySQL.