Web 1-0-2 là hệ thống cho phép tùy biến giao diện theo ý thích. với việc hệ thống sử dụng laravel nên chủ yếu sẽ dùng blade view thay vì php thuần.

1. Cấu trúc thư mục

Cấu trúc một giao diện tiêu chuẩn gồm các thành phần như: sau:

[theme folder]/
├── assets/                      // chứa các tài nguyên như ảnh, css, jsm ... 
│   ├── css/                     // không bắt buộc
│   ├── images/                  // không bắt buộc
│   ├── js/                      // không bắt buộc
│   ├── *..                      // không bắt buộc
├── componnts/                   // Chứa các components của giao diện
│   ├── [component]/             // Mỗi component sẽ được chứa trong một thư mục
│   │   ├── config.json          // file cấu hình gồm các thông tin về component và các input để cập nhật dữ liệu
│   │   ├── view.blade.php       // file view sẽ nhận dữ liệu thông qua một biến $data (object) dược truyền vào
│   │   ├── [subcompnent]/       // có thể nhóm các component có cùng vị trí hiển thị bên trong một folder hoặc một component cha
│   │   │   ├── config.json      // file cấu hình gồm các thông tin về component và các input để cập nhật dữ liệu
│   │   │   ├── view.blade.php   // file view sẽ nhận dữ liệu thông qua một biến $data (object) dược truyền vào
├── config/                      // Thư mục chứa các file json cấu hình giao diện
│   ├── options/                 // Thư mục chứa các filw json là các group của file options.json
│   ├── areas.json               // file chứa vị trí các vùng có thể nhúng component hoặc embed
│   ├── menus.json               // file chứa vị trí và title của các menu
│   ├── options.json             // file thông tin cấu hình theo các group hoặc thông tin file group trong thư mục options
├── helpers/                     // thư mục chứa các file php chứa các function hỗ trợ cho giao diện mà hệ thống không có
│   ├── [filename].php           // có thễ có một hoặc nhiều file hoặc không file php nào với bất kỳ tên gì
├── views/                       // Các view của giao diện
│   ├── layouts/                 // Các khung (vỏ) để hiển thị trang web
│   ├── modules/                 // view chứa các module theo từng chức năng
│   │   ├── alert/               // module hiển thị thông báo
│   │   │   ├── message.blade.php
│   │   ├── errors/              // module thông báo lỗi
│   │   │   ├── 404.blade.php    // file view lỗi 404
│   │   ├── home/                // module home
│   │   │   ├── index.blade.php  // file view
│   │   ├── pages/               // module hiển thị các trang
│   │   │   ├── detail.blade.php // file view chi tiết (single page)
│   │   │   ├── empty.blade.php  // file view thông báo danh sách trống
│   │   │   ├── list.blade.php   // file view danh sách trang con (children pages)
│   │   ├── posts/               // module hiển thị các bài viết
│   │   │   ├── detail.blade.php // file view chi tiết (single post)
│   │   │   ├── empty.blade.php  // file view thông báo danh sách trống
│   │   │   ├── list.blade.php   // file view danh sách bài viết
│   │   ├── search/              // module hiển thị kết quả tìm kiếm
│   │   │   ├── results.blade.php// file view danh sách kết quả tìm kiếm
│   │   ├── [module]/            // module
│   │   │   ├── *.blade.php      // file view
│   ├── templates/               // Chừa các thành phần sử dụng chung trên giao diện

 

2. Biến hệ thống

Các biến được chia sẻ cho tất cả các view của giao diện bao gòm: 

$options 
 
(object) $options // biến chứa tất cả các group thiết lập;

// vài ví dụ cụ thể
$options->settings; // gọi đến đối tượng / option settings thiết lập của hệ thống bao gồm các group sau:
$options->settings->siteinfo // hay $siteinfo // thiết lập thông tin trang web như tên site, tiêu để, logo, vv
// ví dụ: lấy thông tin logo truy cập $siteinfo->logo; Hoặc $siteinfo->logo("Giá trị mặc định");
$options->theme; // Tất cả các thiết lập của theme hiện tại
// ví dụ bạn muốn lấy thông tin thiết lập trang chủ.
$options->theme->home;
// Nếu muốn lấy một giá trị thuộc tính được thiết lập trong mục home ta có thể lấy bằng cách truy cập vào thuộc tính của object
$options->theme->home->show_sidebar;
// hoặc ta có thể gán giá trị để gọi cho nhanh nếu cần lấy nhiều giá trị
$home = $options->theme->home; // gán luôn các thiết lập trang chủ cho biến $home
// từ dây ta có thẩy lấy giá trị như aau:
$home->show_sidebar;
// Hoặc lấy về mảng tất cả các key value
$homeArr = $home->all();
// Giá trị trả về là một mảng các thông tin mà bạn đã quy định trong thiết lập

 

$siteinfo
object $siteinfo; // biến thông tin site được lấy ra từ option settings

string $siteinfo->site_name; // Tên website
string $siteinfo->slogan; // Khẩu hiệu
string $siteinfo->logo // logo
string $siteinfo->mobile_logo; // logo
string $siteinfo->footer_logo; // logo
string $siteinfo->title; // Tiêu đề website
string $siteinfo->keywords; // Từ khóa tìm kiếm
string $siteinfo->description; // Mô tả website
string $siteinfo->web_image; // Ảnh mặc định khi chia sẻ
string $siteinfo->favicon; // Biểu tượng
// một số thông tin khác
$html

biến hệ thống cung cập các thuộc tính và phương thức để hiển thị giao diện như form, component hay menu

$html->[area slug] // vùng nào đó
// ví dụ
$html->header; // gọi đến vùng header
// trong header sẽ có components, embeds
// ví dụ show ra toàn bộ components trong phần header
// trong blade view ta có thể gọi
{!! $html->header->components !!}
// tương tự với embed (mã nhúng)
{!! $html->header->embeds !!}

 

$helper

Biến cho phép bạn gọi các hàm lấy dữ liệu thông qua phương thức của nó

Một vài biến khác
(object) $ecommerce // thông tin thiết lập cửa hàng
(object) $payment // thiết lập thanh toán
(object) $request // biến chứa thông tin request của laravel
(string) $current_url // Url hiện tại