Phát triển gói mở rộng: Mục thông tin cá nhân


nedka

nedka

Quản trị viên
19/09/2016 15:30

Tạo mới mục thông tin cá nhân


nedka

nedka

Quản trị viên
19/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:

Chép
<?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/',
	);
}
Trong đó:
  • $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


Hiển thị mục thông tin cá nhân


nedka

nedka

Quản trị viên
19/09/2016 15:52

...


Các biến giao diện


nedka

nedka

Quản trị viên
19/09/2016 15:53

...


Các sự kiện liên quan


nedka

nedka

Quản trị viên
19/09/2016 15:53

...


Các vấn đề khác


nedka

nedka

Quản trị viên
19/09/2016 15:53

...


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 VinaBB

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…

Code in Viet Nam

Cống hiến hết mình vì Tổ Quốc Việt Nam Xã Hội Chủ Nghĩa

Quản trị viên

nedka

NEDKA Solutions

NEDKA Solutions

Đơn vị chủ quản

Chúng tôi chịu trách nhiệm toàn bộ nội dung có trên VinaBB.vn trước pháp luật.