1. An Nguyen

    An Nguyen bụi Ban quản trị

    28/8/17
    #1
    Bài viết này gồm các hướng dẫn để tùy biến XenPorta Pro để sử dụng hệ thống Layout của Xenporta vào các template khác

    XenPorta Pro cho phép bật nhanh các Class sử dụng với widget framework
    upload_2017-8-28_22-36-51.


    1. Tìm class của mục ViewPublic XenPorta 2
    Hoặc bạn tự định nghĩa Class ở mục ViewPublic Extensions, để tìm tên class, vào folder library/Xenforo/ControllerPublic . Có thể thêm nhiều Class bằng cách đặt ở mỗi dòng.
    upload_2017-8-28_22-41-26.
    Ở đây mình tìm class của trang Search, mở file Search.php, tìm chữ responseView thấy XenForo_ViewPublic_Search_Form chính là Class cần tìm, search_form là template , actionIndex() chính là hàm của trang bắt đầu tìm kiếm
    Mã (Text):
    1.  
    2. public function actionIndex()
    3. {
    4. ...
    5. return $this->responseView('XenForo_ViewPublic_Search_Form', 'search_form', $viewParams);
    6. }

    2. Tạo một chỉnh sửa với template
    Vào Template Modifications (bật debug trước), thêm 1 chỉnh template chỉnh sửa. Nhập tên template search_form như đã nói ở trên, Modification Key điền 1 tên duy nhất tùy ý. Phân Search Type chọn Regular expression.

    upload_2017-8-28_23-18-11.

    Ở ô Find và Replace bạn có thể lấy giống template modification với template forum_view (áp dụng cho các trang không có sidebar tích hợp) hoặc forum_list (với các trang có sidebar tích hợp sẵn)

    Find:
    Mã (Text):
    1. #(^.*$)#s
    Replace:
    Mã (Text):
    1. <xen:include template="EWRporta2_Global_Above" />
    2.  
    3. ${1}
    4.  
    5. <xen:include template="EWRporta2_Global_Below" />
    6. <xen:include template="EWRporta2_Global_Side" />

    3. Tạo layout với Class tự định nghĩa
    Vào mục Layouts của XenPorta Pro, tạo một layout mới. Điền title tùy ý, tên template là search_form, tùy chọn copy các thành phần widget của layout khác nếu muốn ở mục Copy Layout

    upload_2017-8-28_23-25-11.

    Sau đó mở layout search form để tùy chỉnh lại các widget nếu muốn

    upload_2017-8-28_23-37-52.

    Kiểm tra lại trang Search, widget count và forum statistics đã xuất hiện trong trang tìm kiếm
    upload_2017-8-28_23-38-46.

    Tương tự có thể áp dụng widget framework với trang kết quả tìm kiếm với:
    Mã (Text):
    1. ViewPublic = XenForo_ViewPublic_Search_Results
    2. template = search_results
    Với page trong xenforo, để áp dụng tới 1 page cụ thể, nhập giá trị Evaluation
    Mã (Text):
    1. ViewPublic = XenForo_ViewPublic_Page_View
    2. template = pagenode_container
    Một vài ví dụ về Evaluation:

    Template: forum_view

    Mã (Text):
    1. $params['forum']['node_id'] ==#####

    Template: thread_view

    Khi xem 1 thread cụ thể
    Mã (Text):
    1. $params['thread']['thread_id'] == #####
    Khi xem thread trong 1 forum cụ thể
    Mã (Text):
    1. $params['forum']['node_id'] == #####
    Template: pagenode_container
    Mã (Text):
    1. $params['page']['node_id'] == #####
    Template: EWRporta2_ArticleView
    Khi xem 1 article trong 1 danh mục (category) cụ thể
    Mã (Text):
    1. !empty($params['categories']['cats']['#####'])
    Khi xem article từ 1 tác giả (author) cụ thể
    Mã (Text):
    1. !empty($params['author']) && $params['author']['user_id'] == #####
    Template: EWRporta2_ArticleList
    Khi xem danh sách article trong 1 danh mục cụ thể
    Mã (Text):
    1. !empty($params['category']) && $params['category']['category_id'] == #####
    Khi xem danh sách article của 1 tác giả cụ thể
    Mã (Text):
    1.  
    2. !empty($params['author']) && $params['author']['user_id'] == #####
    3.  
     
Đã lưu nháp Draft deleted
Đang tải...