Thông báo
VinaBB đang trong trạng thái vọc phá liên tục, mọi trang đều có thể xuất hiện lỗi

Nếu bạn không thể gửi bài trong diễn đàn hỗ trợ, hãy gửi tin nhắn cho chúng tôi qua Facebook: https://facebook.com/vinabb
Phát triển gói mở rộng: Mục thông tin cá nhân
nedka
Quản trị viên19/09/2016 15:30
- Bước đầu chuẩn bị
- Sự kiện
- Biến ngôn ngữ
- Cấp phép
- Cơ sở dữ liệu
- Giao diện
- Gói chức năng
- Xử lý nội dung
- Tập tin
- Mục thông tin cá nhân
- Các thành phần khác
- Kiểm thử
Tạo mới mục thông tin cá nhân
nedka
Quản trị viên19/09/2016 15:52
Để tạo mới mỗi mục thông tin cá nhân, ta cần một tập tin thay đổi dữ liệu trong thư mục migrations của gói mở rộng.
Ví dụ, ta sẽ tạo một mục thông tin cá nhân mới, lưu tài khoản Facebook của người dùng với tập tin thay đổi dữ liệu migrations/facebook.php như sau:
<?php
namespace phpbb\db\migration\data\v310;
class facebook extends \phpbb\db\migration\profilefield_base_migration
{
public function update_data()
{
return array(
array('custom', array(array($this, 'create_custom_field'))),
);
}
protected $profilefield_name = 'phpbb_facebook';
protected $profilefield_database_type = array('VCHAR', '');
protected $profilefield_data = array(
'field_name' => $this->profilefield_name,
'field_type' => 'profilefields.type.string',
'field_ident' => 'phpbb_facebook',
'field_length' => '20',
'field_minlen' => '5',
'field_maxlen' => '50',
'field_novalue' => '',
'field_default_value' => '',
'field_validation' => '[\w.]+',
'field_required' => 0,
'field_show_novalue' => 0,
'field_show_on_reg' => 0,
'field_show_on_pm' => 1,
'field_show_on_vt' => 1,
'field_show_profile' => 1,
'field_hide' => 0,
'field_no_view' => 0,
'field_active' => 1,
'field_is_contact' => 1,
'field_contact_desc' => 'VIEW_FACEBOOK_PROFILE',
'field_contact_url' => 'http://facebook.com/%s/',
);
}
- $profilefield_name = 'phpbb_facebook': tên định danh cho mục thông tin cá nhân.
- $profilefield_database_type = array('VCHAR', ''): kiểu dữ liệu DBAL cho cột đang tạo. Xem lại phần Các kiểu dữ liệu trong bảng.
- field_name: tên cột dữ liệu mới.
- field_type: loại dữ liệu
- profilefields.type.bool: lựa chọn có/không.
- profilefields.type.date: ngày tháng.
- profilefields.type.dropdown: danh sách lựa chọn xổ xuống.
- profilefields.type.googleplus: dành riêng cho tài khoản Google+.
- profilefields.type.int: số nguyên.
- profilefields.type.string: văn bản ngắn một dòng.
- profilefields.type.text: văn bản nhiều dòng.
- profilefields.type.url: liên kết.
- field_length: độ dài hiển thị của dòng nhập liệu khi chỉnh sửa.
- field_minlen: độ dài tối thiểu.
- field_maxlen: độ dài tối đa.
- field_novalue: giá trị mặc định lưu vào cơ sở dữ liệu nếu người dùng không nhập vào.
- field_default_value: giá trị mặc định hiển thị khi chưa thiết lập.
- field_validation: regular expression dùng kiểm tra dữ liệu, như trong ví dụ [\w.]+ là tên tài khoản Facebook chỉ được dùng chữ, số và dấu chấm.
- field_required: bắt buộc phải nhập.
- field_show_novalue:
- field_show_on_reg: hiện trên trang đăng ký.
- field_show_on_pm: hiện trong tin nhắn.
- field_show_on_vt: hiện trong chủ đề.
- field_show_profile: hiện trên trang cá nhân.
- field_hide: ẩn mục thông tin này.
- field_no_view:
- field_active:
- field_is_contact: dùng để tương tác liên lạc (ví dụ các tài khoản mạng xã hội, liên kết, hộp thư, số điện thoại)
- field_contact_desc: biến ngôn ngữ
- field_contact_url: định dạng liên kết đến trang tài khoản
VinaBB • The Holy Land of phpBB
Quan điểm
Không đề cập chính trị, tôn giáo, nội dung đồi trụy.
Giữ gìn sự trong sáng của Tiếng Việt.
Không chia sẻ phần mềm vi phạm bản quyền.
Không rao vặt và không nhận đặt quảng cáo.
Dù trong túi hết tiền thì diễn đàn phpBB của anh cũng phải ngay ngắn.
Chuyện tình phpBB
17/07/2004: Yêu phpBB từ phiên bản 2.0.10.
22/10/2006: Cất tiếng cười chào đời.
11/06/2007: Chính thức định cư trên Olympus, Sao Hỏa.
11/06/2009: Mất liên lạc với Trái Đất. [ Phiên bản 2007 ]
28/07/2016: Trôi dạt đến mặt trăng Rhea, Sao Thổ.
12/12/2016: Cuộc hành trình mới lại bắt đầu…


NEDKA Solutions
Đơn vị chủ quản