Git Product home page Git Product logo

ishop's Introduction

ishop

Оглавление

Часть 1. Написание собственного фреймворка

Урок 1. Вступление

Урок 2. Структура приложения

Урок 3. Конфигурация приложения

Урок 4. Класс Реестр

Урок 5. Класс обработки ошибок

Урок 6. Класс маршрутизатор. Часть 1

Урок 7. Класс маршрутизатор. Часть 2

Урок 8. Базовый контроллер

Урок 9. Класс View. Часть 1

Урок 10. Класс View. Часть 2

Урок 11. Класс Модели

Урок 12. ORM RedBeanPHP

Урок 13. Класс для кэширования

Часть 2. Написание пользовательской части CMS интернет-магазина

Урок 1. Перенос шаблона в структуру CMS

Урок 2. Структура БД

Урок 3. Вывод брендов

Урок 4. Популярные товары

Урок 5. Виджет выбора валют. Часть 1

Урок 6. Виджет выбора валют. Часть 2

Урок 7. Пересчет цены товара в выбранной валюте

Урок 8. Виджет категорий. Часть 1

Урок 9. Виджет категорий. Часть 2

Урок 10. Виджет категорий. Часть 3

Урок 11. Карточка товара. Часть 1

Урок 12. Карточка товара. Часть 2

Урок 13. Карточка товара. Модуль Связанные товары

Урок 14. Карточка товара. Картинки галереи

Урок 15. Карточка товара. Модуль Просмотренные товары

Урок 16. Карточка товара. Хлебные крошки

Урок 17. Карточка товара. Модификации товара

Урок 18. Корзина. Часть 1

Урок 19. Корзина. Часть 2

Урок 20. Корзина. Часть 3

Урок 21. Корзина. Часть 4

Урок 22. Корзина. Часть 5

Урок 23. Поиск. Часть 1

Урок 24. Поиск. Часть 2

Урок 25. Товары категории

Урок 26. Класс Pagination

Урок 27. Регистрация. Часть 1

Урок 28. Регистрация. Часть 2

Урок 29. Регистрация. Часть 3

Урок 30. Регистрация. Часть 4

Урок 31. Регистрация. Часть 5

Урок 32. Оформление заказа. Часть 1

Урок 33. Оформление заказа. Часть 2

Урок 34. Оформление заказа. Часть 3

Урок 35. Оформление заказа. Часть 4

Урок 36. Фильтры. Часть 1

Урок 37. Фильтры. Часть 2

Урок 38. Фильтры. Часть 3

Урок 39. Фильтры. Часть 4

Урок 40. Фильтры. Часть 5

Часть 3. Написание администраторской части CMS интернет-магазин

Урок 1. Шаблон AdminLTE

Урок 2. Авторизация администратора

Урок 3. Виджеты главной страницы

Урок 4. Список заказов

Урок 5. Обработка заказа. Часть 1

Урок 6. Обработка заказа. Часть 2

Урок 7. Управление категориями. Часть 1

Урок 8. Управление категориями. Часть 2

Урок 9. Управление категориями. Часть 3

Урок 10. Управление категориями. Часть 4

Урок 11. Управление категориями. Часть 5

Урок 12. Управление кэшем

Урок 13. Управление пользователями. Часть 1

Урок 14. Управление пользователями. Часть 2

Урок 15. Управление пользователями. Часть 3

Урок 16. Управление пользователями. Часть 4

Урок 17. Управление товарами. Список товарова

Урок 18. Управление товарами. Форма добавления

Урок 19. Управление товарами. CKEditor

Урок 20. Управление товарами. Добавление фильтров

Урок 21. Управление товарами. Связанные товары. Часть 1

Урок 22. Управление товарами. Связанные товары. Часть 2

Урок 23. Управление товарами. Загрузка картинок. Часть 1

Урок 24. Управление товарами. Загрузка картинок. Часть 2

Урок 25. Управление товарами. Редактирование товара. Часть 1

Урок 26. Управление товарами. Редактирование товара. Часть 2

Урок 27. Управление товарами. Редактирование товара. Часть 3

Урок 28. Управление фильтрами. Часть 1

Урок 29. Управление фильтрами. Часть 2

Урок 30. Управление фильтрами. Часть 3

Урок 31. Управление валютами. Часть 1

Урок 32. Управление валютами. Часть 2

Бонус 1. Премиум курс по PHP+PHP7 и MySQL

Урок 1. Введение в программирование на PHP

Урок 2. Синтаксис PHP. Основы синтаксиса языка PHP

Урок 3. PHP переменные и константы

Урок 4. Типы данных в PHP

Урок 5. Операторы в PHP. Часть 1

Урок 6. Операторы в PHP. Часть 2

Урок 7. Управляющие конструкции PHP. Условия

Урок 8. Управляющие конструкции PHP. Цикл while и do-while

Урок 9. Массивы в PHP

Урок 10. PHP: Функции для работы с массивами

Урок 11. Цикл for в PHP

Урок 12. Цикл foreach в PHP

Урок 13. Альтернативный синтаксис PHP

Урок 14. require и include в PHP

Урок 15. Пользовательские функции в PHP

Урок 16. Функция header в PHP. Часть 1

Урок 17. Функция header в PHP. Часть 2

Урок 18. Функции работы со строками в PHP. Часть 1

Урок 19. Функции работы со строками в PHP. Часть 2

Урок 20. Функции работы со строками в PHP. Часть 3

Урок 21. Функции даты и времени в PHP. Часть 1

Урок 22. Функции даты и времени в PHP. Часть 2

Урок 23. Методы GET и POST в PHP

Урок 24. Загрузка файлов в PHP

Урок 25. Работа с сессиями в PHP

Урок 26. Работа с куками в PHP

Урок 27. Функции для работы с файлами в PHP

Урок 28. Практика создания гостевой книги

Урок 29. Сервер MySQL

Урок 30. Функции PHP для работы с базами данных. Часть 1

Урок 31. Функции PHP для работы с базами данных. Часть 2

Урок 32. Практика создания гостевой книги с использованием БД

Урок 33. PHP 7. Часть 1

Урок 34. PHP 7. Часть 2

Урок 35. PHP 7. Часть 3

Урок 36. PHP 7. Часть 4

Урок 37. PHP 7. Часть 5

Урок 38. PHP 7. Часть 6

Урок 39. PHP 7. Часть 7

Бонус 2. Премиум курс по ООП PHP (Объектно-ориентированное программирование на PHP)

Урок 1. Класс и объект

Урок 2. Свойства объекта

Урок 3. Методы объекта

Урок 4. Методы __construct и __destruct

Урок 5. Домашнее задание. Класс для работы с файлом

Урок 6. Константы класса. Статические свойства и методы

Урок 7. Наследование. Часть 1

Урок 8. Наследование. Часть 2

Урок 9. Модификаторы доступа

Урок 10. Абстрактные классы и интерфейсы

Урок 11. Интерфейсы и контроль типа

Урок 12. Автозагрузка и пространства имен

Урок 13. Composer и автозагрузка

Урок 14. Трейты

Урок 15. Позднее статическое связывание

Урок 16. Магические методы

Урок 17. Шаблоны проектирования

Бонус 3. Перенос сайта на хостинг

Урок 1. Перенос сайта на хостинг

Бонус 4. Подключение платежной системы

Урок 1. Подключение платежной системы. Часть 1

Урок 2. Подключение платежной системы. Часть 2

Бонус 5. Личный кабинет покупателя

Урок 1. Личный кабинет покупателя. Часть 1

Урок 2. Личный кабинет покупателя. Часть 2

Бонус 6. Канонические URL

Урок 1. Канонические URL

ДЗ - Часть 2. Написание пользовательской части CMS интернет-магазина

ДЗ 2-4 - рассчитать размер скидки программно (при наличии старой цены)

app\views\Main\index.php (line 78)

ДЗ 2-6 - делать не запрос к БД, а выбирать валюту из контейнера (реестра)

app\controllers\CurrencyController (line 15)

ДЗ 2-7 - сделать функцию округления при пересчете цены

app\views\Main\index.php (line 71, 74)

ДЗ 2-15 - ссылка для просмотра всех просмотренных товаров

app\controllers\ProductController (line 39)

ДЗ 2-17 - модификации товара (цвет + размер, обновлять старую цену вместе с базовой (старые цены для модификаций излишне))
app\controllers\ProductController (line 54)
app\views\Product\view.php (line 66, 75)
  • цена может отличать и от цвета и от размера
  • можно сделать что-то вроде зависимых списков - при выборе 1 подгружить что-то другое (и наоборот)
  • также учитывать, что 1 цвет может быть все цвета, а другой цвет - не все (часть списка)
ДЗ 2-22 - в корзине реализовать увеличение и уменьшение количества по каждой позиции
app\controllers\CartController
app\models\Cart
public\js\main.js

2-30 - при регистрации и входе вывод php ошибок сделать под полями формы

app\controllers\UserController
app\layouts\watches.php (line 176)
app\views\User\signup.php
app\views\User\login.php
ДЗ 2-31 - при регистрации авторизовывать пользователя (+ перенапрявлять со страницы входа уже авторизованного пользователя)
app\controllers\UserController
app\models\User
ДЗ 2-33 - сделать правильное сохранение заказа (с помощью метода save в базовой модели)

app\models\Order->saveOrder() (line 8)

ДЗ 2-35 - выводить в фильтрах виды полей (checkbox, radio-button, select, input)
app\controllers\CartController
app\models\Cart
  • использовать транзакции в БД (интернет) - сначала сохраняем заказ, потом выгружаем товары по заказу. Есть шанс, что мы сохраним заказ, а в момент выгрузки товаров сервер откажет и будет заказ без товаров (order_product). Оформление заказа и выгрузку товаров сделать 1 транзакцией - в случае ошибки на 1 из этапов откатываются все изменения в цепочке (если не выгрузились товары, откатывается изменение в заказах и данный заказ удаляется).
  • кол-во сделать input и при изменении данного инпута или нажатии кнопки пересчитать
  • собираем все инпуты и id товаров и пересчитываем корзину с помощью метода recalc()
ДЗ 2-36 - добавить фильтры по брендам и диапазону цен + выводить в фильтрах виды полей (checkbox, select, radio-button, input)
app\widgets\Filter
app\widgets\filter_tpl.php
  • в attribute_value добавляем поле type, на основе которого формируется соответствующий html-код
  • type: checkbox | select | boolean | string | int (диапазон цен)
  • checkbox | select | radio-button | input(str) | input(int)

https://zlob.in/2013/01/struktura-tablic-dlya-kataloga-tovarov-internet-magazina/

http://softtime.ru/forum/read.php?id_forum=3&id_theme=88061

https://gist.github.com/greabock/afc4a08577806b60dc61

ДЗ - Часть 3. Написание администраторской части CMS интернет магазина

ДЗ 3-5 - сделать наименование товара в заказе ссылкой (вытащить алиас через join из таблицы product по product_id)
app\views\admin\Order\view.php
app\controllers\admin\OrderController.php
ДЗ 3-6 - сделать проверку сохранены ли изменения

app\controllers\admin\OrderController.php => changeAction()

ДЗ 3-12 - разделить editAction на view и edit
  • view - отображает пользователя, edit - принимает и обрабатывает данные из формы
  • app\controllers\admin\UserController.php => editAction()
ДЗ 3-14 - сделать пагинацию для списка заказов пользователя

app\controllers\admin\UserController.php => viewAction()

ДЗ 3-20 - реализовать удаление фильтров у продукта

app\models\admin\Product.php => editFilter()

ДЗ 3-23 - обрабатывать и выводить ошибки загрузки изображения в js файле

public\adminlte\my.js

ДЗ 3-24 - добавить модификаторы товара (таблица - modification)

app\controllers\admin\ProductController.php => addAction()

ДЗ 3-25 - реализовать удаление базовой картинки по аналогии с удалением картинок галлереи (при клике на картинку)

app\controllers\admin\ProductController.php => editAction()

ДЗ 3-27 - реализовать удаление товаров (параллельно удалять модификации, фильтры, связанные товары, галлерею, товары заказа (?))

app\controllers\admin\ProductController.php => deleteAction()

ishop's People

Contributors

nikolay-mishin avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.