- Создано ядро MVC: App, Router, Controller, Model, View, Database - Созданы модели: User, Product, Category, Cart, Order - Созданы контроллеры: Home, Auth, Product, Cart, Order, Page, Admin - Созданы layouts и partials для представлений - Добавлены все views для страниц - Настроена маршрутизация с чистыми URL - Обновлена конфигурация Docker и Apache для mod_rewrite - Добавлена единая точка входа public/index.php
75 lines
3.8 KiB
PHP
75 lines
3.8 KiB
PHP
<?php use App\Core\View; ?>
|
||
|
||
<a href="/cite_practica/admin/orders" class="btn btn-primary" style="margin-bottom: 20px;">
|
||
<i class="fas fa-arrow-left"></i> Назад к заказам
|
||
</a>
|
||
|
||
<h2>Заказ <?= htmlspecialchars($order['order_number']) ?></h2>
|
||
|
||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px;">
|
||
<div class="form-container">
|
||
<h3>Информация о заказе</h3>
|
||
<table style="border: none;">
|
||
<tr><td><strong>Дата:</strong></td><td><?= View::formatDateTime($order['created_at']) ?></td></tr>
|
||
<tr><td><strong>Покупатель:</strong></td><td><?= htmlspecialchars($order['customer_name']) ?></td></tr>
|
||
<tr><td><strong>Email:</strong></td><td><?= htmlspecialchars($order['customer_email']) ?></td></tr>
|
||
<tr><td><strong>Телефон:</strong></td><td><?= htmlspecialchars($order['customer_phone']) ?></td></tr>
|
||
<tr><td><strong>Адрес:</strong></td><td><?= htmlspecialchars($order['delivery_address']) ?></td></tr>
|
||
<tr><td><strong>Способ доставки:</strong></td><td><?= htmlspecialchars($order['delivery_method']) ?></td></tr>
|
||
<tr><td><strong>Способ оплаты:</strong></td><td><?= htmlspecialchars($order['payment_method']) ?></td></tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="form-container">
|
||
<h3>Статус заказа</h3>
|
||
<form action="/cite_practica/admin/orders/<?= $order['order_id'] ?>/status" method="POST">
|
||
<div class="form-group">
|
||
<select name="status" class="form-control">
|
||
<option value="pending" <?= $order['status'] === 'pending' ? 'selected' : '' ?>>Ожидает</option>
|
||
<option value="processing" <?= $order['status'] === 'processing' ? 'selected' : '' ?>>В обработке</option>
|
||
<option value="shipped" <?= $order['status'] === 'shipped' ? 'selected' : '' ?>>Отправлен</option>
|
||
<option value="completed" <?= $order['status'] === 'completed' ? 'selected' : '' ?>>Завершен</option>
|
||
<option value="cancelled" <?= $order['status'] === 'cancelled' ? 'selected' : '' ?>>Отменен</option>
|
||
</select>
|
||
</div>
|
||
<button type="submit" class="btn btn-success">Обновить статус</button>
|
||
</form>
|
||
|
||
<h3 style="margin-top: 20px;">Итого</h3>
|
||
<table style="border: none;">
|
||
<tr><td>Товары:</td><td><?= View::formatPrice($order['subtotal']) ?></td></tr>
|
||
<tr><td>Скидка:</td><td>-<?= View::formatPrice($order['discount_amount']) ?></td></tr>
|
||
<tr><td>Доставка:</td><td><?= View::formatPrice($order['delivery_price']) ?></td></tr>
|
||
<tr style="font-weight: bold;"><td>ИТОГО:</td><td><?= View::formatPrice($order['final_amount']) ?></td></tr>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 style="margin-top: 30px;">Товары в заказе</h3>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Изображение</th>
|
||
<th>Товар</th>
|
||
<th>Цена</th>
|
||
<th>Кол-во</th>
|
||
<th>Сумма</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<?php foreach ($order['items'] as $item): ?>
|
||
<tr>
|
||
<td>
|
||
<img src="/cite_practica/<?= htmlspecialchars($item['image_url'] ?? 'img/1.jpg') ?>"
|
||
style="width: 50px; height: 50px; object-fit: cover; border-radius: 4px;">
|
||
</td>
|
||
<td><?= htmlspecialchars($item['product_name']) ?></td>
|
||
<td><?= View::formatPrice($item['product_price']) ?></td>
|
||
<td><?= $item['quantity'] ?></td>
|
||
<td><?= View::formatPrice($item['total_price']) ?></td>
|
||
</tr>
|
||
<?php endforeach; ?>
|
||
</tbody>
|
||
</table>
|
||
|