- Описание
- Установка
- Настройка веб сервера
- Данные и шаблоны
- Оптимизация JS и CSS файлов
- Вывод контента
- Корзина товаров
- Настройка онлайн оплаты
- Настройка оплаты через Robokassa
- Меню
- Формы
- Поиск
- Учет количества товара на складе
- Мульти-валютность
- Мульти-язычность
- Изменение размеров изображений
- Разработчикам
- Импорт-Экспорт
- Установка на локальный сервер XAMPP в Windows
- Настройка VDS и установка Nginx, PHP, MongoDB, Shopker
- JavaScript API
- Визуальный редактор шаблонов
- Бронирование
- Экспорт каталога в Яндекс.Маркет
- Bash скрипт для настройки VDS
- Bash скрипт для установки
- API
- Установка локально в ОС Windows
Разработчикам
Режим разработки
-
Должен быть установлен Composer. В корневой папке сайта в терминале вызвать команду:
composer install
-
Открыть файл
.env
в текстовом редакторе и установить значениеdev
для параметраAPP_ENV
. Открыть сайт в браузере, внизу страницы должна появиться панель профайлера Symfony. -
Для разработки интерфейса администратора, перейти в папку "frontent":
cd frontent
-
Должен быть установлен NPM. Для сборки JS-скриптов в режиме разработки вызвать команду:
npm run build:dev
Команды NPM
Перейти в папку frontend
.
Запустить сборку JS-пакетов для режима разработки (обновление при изменении кода):
npm run build:dev
Запустить сборку JS-пакетов для рабочего (production) режима:
npm run build
Обновить список слов для перевода (ngx-translate) в формате JSON:
npm run extract
Найти синтаксические ошибки в коде:
npm run lint
Angular CLI
npm install -g @angular/cli@latest
ng g component my-new-component
ng g module admin --routing
ng serve --open --live-reload 0 --watch --port 4200 --output-path "./dist_dev"
ng build --base-href "/" --deploy-url "/shk-app/bundle-dev/" --output-path "./bundle-dev" --watch
ng build --prod --env=prod --base-href "/" --deploy-url "/shk-app/bundle/" --output-path "./bundle"
Если не работает авто-сборка после редактирования кода в Linux:
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p --system
https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
Symfony Console
Список команд:
php bin/console
php bin/console doctrine:mongodb:fixtures:load --group=en
php bin/console cache:clear --env=dev
php bin/console cache:clear --env=prod --no-debug
php bin/console server:run localhost:8001
Перед сборкой для продакшн:
composer dump-autoload --optimize
MongoDB
mongo shell - interactive JavaScript interface to MongoDB: https://docs.mongodb.com/manual/mongo/
mongod - primary daemon process for the MongoDB system: https://docs.mongodb.com/manual/reference/program/mongod/
Авторизация: https://docs.mongodb.com/master/tutorial/enable-authentication/
MongoDB Cloud: http://mbsy.co/jNpwD
Mongo Shell:
mongo
Создать админа и пользователя:
use admin
db.createUser(
{
user: "root",
pwd: "mypassword",
roles: [{role:"root", db:"admin"}]
}
)
db.createUser(
{
user: "shopkeeper4user",
pwd: "mypassword",
roles: [{role: "readWrite", db: "shk4-db"}]
}
)
Авторизоваться:
use admin
db.auth('shopkeeper4user', 'mypassword')
Конфигурация:
sudo nano /etc/mongod.conf
Экспорт:
./mongoexport --db shopkeeper4 --collection ContentType --out ../ContentType.json \
-u "shopkeeper4user" -p "111111" --authenticationDatabase "shopkeeper4"
Другие полезные команды:
show dbs
db
use <database>
show collections
db.first_collection.insert(
{
name: "test_name",
type: "test_type",
city: "Test city"
}
)
db.first_collection.find()
db.first_collection.find().pretty()