[Series Tự học WHMCS] Themes - Phần 8: PHP Logic 2019-10-15

WHM.vn cho ra mắt series tự học WHMCS giúp bạn thuận lợi hơn trong việc tìm hiểu và học tập về WHMCS

  1. Trung
    LOGIC PHP

    [​IMG]


    Chúng tôi khuyên rằng tất cả logic PHP tùy chỉnh phải được thực hiện thông qua hook. Hook là cách duy nhất trong để thực hiện logic PHP của riêng bạn tại thời điểm render trang.

    Trước đây, Smarty đã cho phép bạn xác định logic PHP tùy chỉnh trực tiếp trong các tệp mẫu. Điều này thường được sử dụng bởi người dùng và nhà phát triển bên thứ 3 như một cách nhanh chóng và thuận tiện để thực hiện logic bổ sung và xác định đầu ra mẫu bổ sung.

    Tuy nhiên, kể từ Smarty 3, hỗ trợ cho khối {php} đã bị xóa và chúng tôi chỉ hỗ trợ giảm bớt sự chuyển đổi cho các nhà phát triển và người dùng làm việc với nền tảng của chúng tôi và dựa vào chức năng này.

    VÍ DỤ

    Ví dụ dưới đây cho thấy cách hook có thể được sử dụng để thực hiện logic PHP bổ sung và xác định các biến mẫu để sử dụng trong các tệp mẫu của khu vực máy khách.

    <?php
    /**
    * Hook sample for defining additional template variables
    *
    * @param array $vars Existing defined template variables
    *
    * @return array
    */
    function hook_template_variables_example($vars)
    {

    $extraTemplateVariables = array();

    // set a fixed value
    $extraTemplateVariables['fixedValue'] = 'abc';

    // fetch clients data if available
    $clientsData = isset($vars['clientsdetails']) ? $vars['clientsdetails'] : null;


    // determine if client is logged in
    if (is_array($clientsData) && isset($clientsData['id'])) {
    $userId = $clientsData['id'];
    // perform calculation here
    $extraTemplateVariables['userSpecificValue'] = '123';
    $extraTemplateVariables['anotherUserOnlyValue'] = '456';
    }


    // return array of template variables to define
    return $extraTemplateVariables;
    }


    add_hook('ClientAreaPageViewTicket', 1, 'hook_template_variables_example');


    Móc trên xác định các biến mẫu bổ sung {$fixedValue} - và, trong trường hợp người dùng đã đăng nhập, {$userSpecificValue}{$otherUserOnlyValue}. Chúng sau đó có thể được sử dụng bên trong tệp mẫu được liên kết (trong trường hợp này là viewticket.tpl) theo cách thông thường.


    <p>The fixed value is {$fixedValue}.</p>
    {if $userSpecificValue && $anotherUserOnlyValue}

    <p>I also have this {$userSpecificValue} and {$anotherUserOnlyValue} to show you.</p>
    {/if}

    Bài viết được tham khảo và lược dịch từ: https://developers.whmcs.com/