Branch (Chi nhánh)

#Get

static function Branch::Get($args);

#Parameters

Tham số $args có thể là :

ID (int) chi nhánh

Mảng (array) các tham số model

#Gets

static function Branch::Gets($args);

#Parameters

Tham số $args có thể là :

ID (int) đơn hàng

Mảng (array) các tham số model

#Count

static function Branch::Count($args);

Tham số $args có thể là :

Mảng (array) các tham số model

#Insert

Tạo một nhà sản xuất mới hoặc cập nhật đơn hàng

static function Branch::Insert($args);

#Parameters

Tham số $args Mảng (array) các tham số :

Parameter Value Description
id int | default 0 Nếu khác 0 chi nhánh sẽ được cập nhật.
name string Tên chi nhánh.
email string Email quản lý cho chi nhánh.
phone string Số điện thoại quản lý cho chi nhánh.
address string Địa chỉ chi nhánh.
ward string Mã Quận huyện chi nhánh
district string Mã Phường xã chi nhánh.
city string Mã Tỉnh thành chi nhánh.
status string Trạng thái chi nhánh (working/stop).
area string Khu vực bán hàng của chi nhánh.

#Example

$branch = [
	'name' => 'Chi nhánh HCM',
	'phone' => '039.xxx.xxx',
	'email' => 'brand@demo.com',
	'address' => '213/14 D2',
	'ward' => 'Phuong 26',
	'district' => 'Binh-thanh',
	'city' => 'Ho-Chi-Minh',
	'status' => 'working',
];

Branch::insert($branch);

#Delete

Xóa một chi nhánh

static function Branch::Delete($branchID);

#Parameters

Tham số branchID ID của chi nhánh cần xóa

#Metadata

#Get metadata

Hàm này dùng để lấy một metadata trong cơ sở dữ liệu

static function Branch::getMeta($object_id = '', $meta_key = '', $single = false);

#Parameters

Parameter Value Description
$object_id int Id post
$meta_key string Key của Meta data
$single true|false (default false) Nếu $single = true thì nó sẽ trả về giá trị của $meta_key, ngược lại nó sẽ trả về một mảng chứa tất cả các thông tin của record đó.

#Update metadata

Hàm này cập nhật giá trị cho một meta key nào đó, nếu meta_key không tồn tại sẽ tạo mới metadata

static function Branch::updateMeta($object_id, $meta_key, $meta_value);

#Parameters

Parameter Value Description
$object_id int Id post
$meta_key string Key của Meta data
$meta_value string Giá trị của Meta data

#Delete metadata

Hàm này xóa một hoặc nhiều metas ra khỏi cơ sở dữ liệu, cấu trúc như sau:

static function Branch::deleteMeta($object_id, $meta_key, $meta_value, $delete_all = false);

#Parameters

$delete_all sẽ có giá trị true hoặc false, nếu true thì nó xóa hết tất cả các field có key trùng với $meta_key, ngược lại nó chỉ xóa field có key trùng với $meta_key và có object_id trùng với $object_id.

$meta_value nếu bạn thiết lập giá trị cho tham số này thì nó sẽ bổ sung thêm một điều kiện xóa đó là giá trị của key meta phải bằng với $meta_value.

#CUSTOM FORM

Sử dụng các hook để custom form thêm sửa chi nhánh

Hook Ver Description
[filter] admin_branch_form 1.0.0

Hook thay đổi danh sách input form chi nhánh.

$form = apply_filters('admin_branch_form', $form, $branch);

$form là đối tượng FormBuilder

$branch là đối tượng branch nếu edit là array rỗng nếu là add

[filter] admin_branch_save_validation 1.0.0

Hook kiểm tra dữ liệu trước khi cập nhật chi nhánh.

$error = apply_filters('admin_branch_save_validation', $error, $branch, $branch_old);

$error là đối tượng SKD_Error

$branch là dư liệu mới sẽ được cập nhật

$branch_old là dư liệu củ của chi nhánh sẽ được cập nhật

[filter] pre_insert_branch_data 1.0.0

Hook trả về danh sách dữ liệu sẽ được cập nhật.

$data = apply_filters('pre_insert_branch_data', $data, $branch, $old_branch);
Class Demo_Branch_Custom {
    function __construct() {
        add_filter('admin_branch_form', 'Demo_Branch_Custom::Form', 20, 2);
        add_filter('pre_insert_branch_data', 'Demo_Branch_Custom::Insert', 20, 3);
        add_filter('admin_branch_save_validation', 'Demo_Branch_Custom::Validation', 20, 3);
    }

    public static function Form($form, $branch) {
        if(have_posts($branch)) {
            $form->add( 'branch[demo]', 'text', [
                'id' => 'branch_'.$branch->id.'_demo',  'label' => 'Input demo',
            ], $branch->demo);
        }
        else {
            $form->add( 'branch[demo]', 'text', [
                'id' => 'branch_'.$branch->id.'_demo',
                'label' => 'Input demo',
            ]);
        }
        return $form;
    }

    public static function Validation($error, $branch, $branch_old) {

        if(have_posts($branch_old)) {
            if(empty($branch_old->demo) && empty($branch['demo'])) {
                return new SKD_Error( 'invalid_branch_demo', __( 'demo không được để trống.'));
            }
        }
        else {
            if(empty($branch['demo'])) {
                return new SKD_Error( 'invalid_branch_demo', __( 'demo không được để trống.'));
            }
        }

        return $error;
    }

    public static function Insert($data, $branch, $old_branch) {

        if(have_posts($old_branch)) {
            $demo = (!isset($branch['demo'])) ? $old_branch->demo : Str::clear($branch['demo']);
        }
        else {
            $demo = (!isset($branch['demo'])) ? '' : Str::clear($branch['demo']);
        }

        $data['demo'] = $demo;

        return $data;
    }
}
new Demo_Branch_Custom();