Как создать небольшой Интернет Магазин без Woocommerce?

Ссылка скопирована
1 ответ

Пишу курсовую работу, преподаватель сказал, что нам нельзя использовать Woocommerce, Elementor для создания магазина. Не очень понимаю, как возможно реализовать "добавление товара в корзину" и прочие функции типичного Интернет магазина. Подскажите, пожалуйста, как можно создать более менее рабочий магазин? Товаров планируется немного, просто для демонстрации (как работает сайт). Не судите строго, нас не обучали как создавать сайты, поставили перед фактом(. У меня тема курсовой "Разработка Веб-сайта на базе cms Wordpress, продажа вязанных игрушек". Надеюсь немного поможете, заранее благодарю!

Дополнительные вопросы

Ответы:

преподаватель сказал, что нам нельзя использовать Woocommerce, Elementor для создания магазина.

1. Создать 3 новых типа записей "Товар", "Категория товара" и "Корзина", с необходимыми полями.
2. Написать php код, который будет добавлять товар в корзину, если кликнули на соответствующую кнопку.
3. Наполнить тестовыми товарами и протестировать работу своего велосипеда.

Подскажите, пожалуйста, как можно создать более менее рабочий магазин?

и прочие функции типичного Интернет магазина.

Я бы начал с ТЗ, а не реализации, т.к. слово "прочие функции" слишком широко трактуется.

Не очень понимаю, как возможно реализовать "добавление товара в корзину"

Пример работы через сессии:

if (!session_id()) {     session_start(); }  function test_session() {     if (!session_id()) {         session_start();     } }  add_action('init', 'test_session', 1);

if (!session_id()) { session_start(); } function test_session() { if (!session_id()) { session_start(); } } add_action('init', 'test_session', 1);

Функция добавление товара в корзину:

function add_to_cart($id, $q = 1) {     if (isset($_SESSION['cart'][$id])) {         $_SESSION['cart'][$id] += $q;     } else {         $_SESSION['cart'][$id] = $q;     } }

function add_to_cart($id, $q = 1) { if (isset($_SESSION['cart'][$id])) { $_SESSION['cart'][$id] += $q; } else { $_SESSION['cart'][$id] = $q; } }

Функция получения товаров из корзины:

function show_cart() {     if (!empty($_SESSION['cart'])) {         foreach($_SESSION['cart'] as $id => $q) {             $product = get_post($id);             echo "<div>{$product->post_title} (x$q)</div>";         }     } else {         echo "Cart has empty";     } }

function show_cart() { if (!empty($_SESSION['cart'])) { foreach($_SESSION['cart'] as $id => $q) { $product = get_post($id); echo "<div>{$product->post_title} (x$q)</div>"; } } else { echo "Cart has empty"; } }

Павел @Asokr Хоть один товар в магазине, вам все равно нужен весь функционал магазина.

Чтобы реализовать это на WP, вам нужно не только знать php, но и знать WP изнутри, видимо ваш преподаватель этого ничего не знает, раз ставит такие задачи.

Если вам четко запретили использовать Woocommerce, но просто найдите альтернативу
https://ru.wordpress.org/plugins/search/shopping+cart/

Если нельзя использовать альтернативу, то ищите статьи на эту тему
https://www.google.com/search?q=%D1%81%D0%BE%D0%B7...

Если в рунете нет, то уже на англоязычных ресурсах...

Сделать это самой у вас вряд ли получиться... fbi_agent26 @fbi_agent26 Спойлер
С тем уровнем знаний которые вам дает ваш преподаватель - никак.
WP это блог, он не подходит для создания интернет магазина вот вообще никак, а если туда поставить плагины типа Woocommerce - то WP сайт будет притворятся интернет магазином. но не станет полноценным никогда.
=====
По сути вопроса
1 - нужно создать таблицы в базе данных, таблицы должны хранить следующее
1.1 - сами товары, их названия, артикулы, цены, скидочные цены, количество, и другие поля которые могут понадобится .
1.2 - страница категорий, у вас в магазине же будет не 2 товара, а 2000 к примеру должно быть, они естественно в разных категориях должны быть.
1.3 - описание товаров, оно может быть большое и закидывать в 1.1 такое нельзя , а то будет работать медленно.
1.4 - характеристики товаров, на 1 товар их может быть штук 100, их тоже лучше выносить отдельно.
1.5 - таблица со связями, какой товар в какой категории стоит.
1.6 таблица с заказами и таблица с пользователями.
======
Дальше создаются PHP файлы, для редактирования этого всего и для вывода.
======
Дальше добавляется JS который работает через AJAX и обращается к нашим PHP - от него корзина работать будет
=====
Ну и если кратко то все.
====
Ваш наставник обучил вас SQL CSS PHP HTML JS на достаточном уровне для такого задания?
или может быть он обычный инфоциган который сам не понимает что делает?
=====
P.S. если надо интернет магазин то он не делается на WP, есть куча движков которые созданы специально для этого, например Opencart, в 2 клика создастся интернет магазин.
А на WP их делают только самые маленькие, которые не знают что такой сайт в итоге обречен на удаление.
WP даже в режиме блога живет нормально до 50 000 страниц, потому надо либо все переписывать либо платить за хостинг х10, это маленький блог для самых маленьких организаций.

  • Ты со знаниями о ВП застрял в прошлом веке. ВП сегодня - это крутой фреймворк. Только с уже готовой админкой и некоторыми другим фишками. И WP+WCна сегодня самый популярный с мире двиг для ИМ. На нём есть ИМы с десятками и даже сотнями тыщ номенклатуры.
  • Refguser, с какими фишками ?
    админка есть у любой CMS, это не большой плюс.
    Там где движки типа Opencart тянут 1 000 000 товаров на 1 ядре opteron - Wp сдыхает на 50 000
    ===
    В чем крутость этого движка?
    В открытом коде который нельзя редактировать потому что потом не обновишься?
    Или в том что люди типа тебя могут без знания кода собирать на нем интернет магазины?
    А может быть в куче бесплатных модулей с дырками, из за которых сайты WP заражаются вирусами чаще остальных?
    ====
    И почему тогда WP а не MODX ?
    MODX работает по той же схеме но он изначально создан под все что угодно, а не под блог, и не придется искать обходные пути для создания интернет магазина.
    ===
    ЗАКЛЮЧЕНИЕ - если ты не знаешь ничего кроме школьного курса HTML и хочешь быть разработчиком - выбирай WP, но ничего больше чем просто блог там нормально не сделать.
    Если ты разбираешься в теме немного дальше конструктора или заказываешь у разраба сайт, никогда не заказывай WP, потому что это убожество не создано для интерн магазинов.
  • fbi_agent26,

    Там где движки типа Opencart тянут 1 000 000 товаров на 1 ядре opteron - Wp сдыхает на 50 000

    Да ты просто упорный безграмотный копипастер древних ГСов, не только не понимающий как работают сервера и движки, но и не умеющий пользоваться интернетом и думать своей головой :)

    10 000 соединений в секунду на WordPress.

  • Refguser, о боже, иди уроки учи.
    Я ему по фактам разложил, а он мне пишет свои фантазии.
    Мне не важно сколько таких как ты создало сайт на WP, когда ты покажешь свою работу на 100 000 товаров на WP, успешную, которая работает на 1 ядре процессора и при этом летает - тогда я начну учитывать твое мнение.
    А пока что - ты маленький мальчик с недостатком знаний, в следствие чего ты стал коробочным сборщиком.
    P.S. - у меня одна база данных, на одном проекте - больше чем все твои сайты целиком и умноженные на их количество.
    А кукарекать ты можешь до бесконечности, пока фактов не будет - ты необразованный неуч.
  • fbi_agent26,

    Я ему по фактам разложил, а он мне пишет свои фантазии

    Факты как раз привёл я. Пруфы, Карл, пруфы! А ты продолжаешь нести безграмотную чушь их игнорируя и не желая образовываться. Ну для упоротого хамла это не удивительно. Если не совсем идиот - со временем дойдёт.
    Бывай, жувущий в курятнике.

Refguser @Refguser Делаю ИМ и другие решения

нам нельзя использовать Woocommerce, Elementor для создания магазина.

Елементор точно нафик не нужен, а вот какой-то плагин ИМ нужен. Если нельзя WC, то можешь использовать любой другой ;).

Теория:
Чтобы расширить базовую функциональность ВП (например создать интернет магазин) нужно использовать плагин. Другого пути попросту нет. Написать свой или использовать готовый - дело второе. Но плагины - основа расширения функционала ВП.

Почитай что такое плагины и как они выглядят.

UPD.
Кстати, если не нужна корзина, аналитика заказов и прочее, что делает ИМ ИМом, то простейшее подобие ИМ можно сделать используя формы обратной связи. Например на CF7 (я так когда-то делал для одного заказчика)

  • о боже, что за спам, в WP можно и без плагина расширить функциональность, я хоть и не люблю WP но разбираюсь в нем куда больше твоего.
    =
    В WP нельзя расширить функционал без знания PHP CSS JS HTML SQL , то есть только для тебя это не возможно...
    =
    UPD.
    Кстати: вопрос был - как сделать интернет магазин без плагинов
  • fbi_agent26,

    разбираюсь в нем куда больше твоего.

    Да оно и видно - оф ресурусы - спам, расширить без плагинов (ага волшебной палочкой), ВП не для ИМ и пр чушь детского сада. :-)

    Кстати: вопрос был - как сделать интернет магазин без плагинов

    Если научится читать, то вопрос был другой. Ты и это не умеешь.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Редакция DevOps Ответ

Для курсовой небольшой интернет-магазин без WooCommerce можно сделать на простом PHP/WordPress: каталог товаров, корзина в session/localStorage и страница оформления заказа. Для учебного проекта не обязательно реализовывать оплату и сложный складской учёт.

Минимальная структура:

  • тип записи «Товар» или обычный массив товаров;
  • карточка товара с кнопкой «В корзину»;
  • корзина хранится в $_SESSION или localStorage;
  • страница корзины показывает выбранные товары;
  • форма заказа сохраняет заявку в базу или отправляет письмо.

Пример идеи корзины на PHP session:

session_start();
 
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['product_id'])) {
    $id = (int) $_POST['product_id'];
    $_SESSION['cart'][$id] = ($_SESSION['cart'][$id] ?? 0) + 1;
}

session_start(); if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['product_id'])) { $id = (int) $_POST['product_id']; $_SESSION['cart'][$id] = ($_SESSION['cart'][$id] ?? 0) + 1; }

Кнопка товара:

<form method="post">
  <input type="hidden" name="product_id" value="12">
  <button type="submit">Добавить в корзину</button>
</form>

<form method="post"> <input type="hidden" name="product_id" value="12"> <button type="submit">Добавить в корзину</button> </form>

Вывод корзины:

foreach ($_SESSION['cart'] ?? [] as $product_id => $qty) {
    echo 'Товар #' . (int) $product_id . ' — ' . (int) $qty . ' шт.';
}

foreach ($_SESSION['cart'] ?? [] as $product_id => $qty) { echo 'Товар #' . (int) $product_id . ' — ' . (int) $qty . ' шт.'; }

Для WordPress лучше хранить товары как CPT и цену в meta-поле. Но если задача учебная, можно сделать проще: массив товаров в PHP или таблица в базе.

Главное, что нужно показать преподавателю: добавление в корзину, изменение количества, удаление товара, итоговая сумма, форма оформления заказа. Это уже будет рабочая логика магазина без WooCommerce.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно