roxone / movie-core
Movie CMS core features
Requires
- php: ^8.2
- artesaos/seotools: ^1.4
- backpack/crud: ^7.1
- backpack/permissionmanager: ^7.3
- backpack/settings: ^3.2
- ckfinder/ckfinder-laravel-package: ^5.0.2
- laravel/framework: ^12.0
- spatie/laravel-sitemap: ^7.4
This package is auto-updated.
Last update: 2026-08-15 19:38:18 UTC
README
Phần lõi của Movie CMS: model nghiệp vụ, toàn bộ admin (Backpack CRUD), route admin, migration, policy, SEO và hệ thống theme.
Bản fork của Ophim CMS, đã đổi tên (Ophim\* → Movie\*) và nâng lên Laravel 12 / Backpack v7. Upstream cũ (hacoidev/*) không còn tồn tại.
Yêu cầu
- PHP 8.2 trở lên, kèm các extension:
fileinfo,gd(có hỗ trợ WebP nếu dùng crawler),curl,mbstring,openssl,pdo_mysql,tokenizer,xml,zip,bcmath,intl,exif - Laravel 12
- MySQL 5.7+ / MariaDB 10.4+
php.ini:max_input_vars=100000— form option của admin rất lớn, thiếu là dữ liệu bị cắt lúc lưu mà không báo lỗi
Cài đặt
composer require roxone/movie-core -W
- Khai báo kết nối database trong
.env php artisan movie:install— chạy migration và publish asset/config- Cho
app/Models/Userkế thừa user của core:
use Movie\Core\Models\User as MovieUser; class User extends MovieUser { use HasApiTokens, HasFactory, Notifiable; // ... }
- Tạo tài khoản quản trị:
php artisan movie:user - Xoá route
/mặc định trongroutes/web.php— route trang công khai do theme nạp, không phải từ dự án:
Route::get('/', function () { return view('welcome'); });
php artisan storage:linkphp artisan optimize:clear
Sau đó cài một theme (vd roxone/movie-hhtq) và kích hoạt trong admin — chưa kích hoạt theme thì toàn bộ trang công khai trả 404, vì tập route front-end được nạp từ theme đang active trong bảng themes.
Cập nhật
composer update roxone/movie-core -W php artisan movie:install php artisan optimize:clear
Xoá OPcache trên server nếu có bật.
Lệnh
| Lệnh | Việc |
|---|---|
movie:install |
migrate + publish asset/config (chạy lại được sau mỗi lần update) |
movie:user |
tạo tài khoản admin |
movie:menu:generate |
sinh lại menu thể loại / quốc gia |
movie:episode:change_domain_play |
đổi domain link phát của tập phim |
Cron
Reset bộ đếm lượt xem theo ngày/tuần/tháng và chạy crawler theo lịch đều dựa vào scheduler của Laravel:
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1
Môi trường production
.env:APP_ENV=production,APP_DEBUG=false,APP_URL=https://your-domain.comconfig/app.php:'timezone' => 'Asia/Ho_Chi_Minh','locale' => 'vi'php artisan storage:linkphải chạy được. Thiếu symlink là admin mất sạch CSS: Backpack v7 dùngbackpack/bassetđể nội bộ hoá asset, nó ghi file vàostorage/app/public/basset/rồi sinh URL/storage/basset/...- Trên các panel như aaPanel, nhớ bỏ
proc_open,putenv,symlinkkhỏidisable_functions— thiếu thì composer vàstorage:linkkhông chạy được
Tuỳ biến giao diện admin
Blade của admin nằm trong package; muốn sửa thì publish rồi chỉnh bản đã publish trong resources/views/vendor/ của dự án — bản này được ưu tiên hơn view trong package.
Field/column tuỳ biến được tra qua config('backpack.crud.view_namespaces.*'); core đã đăng ký sẵn các namespace movie::base.fields, movie::base.columns, movie::crud.buttons, movie::crud.filters.
Add-on
- Crawler: roxone/movie-nguonc-crawler
- Theme: roxone/movie-hhtq