در این بخش جزییات کاربری پیشرفته ماژول تشریح میگردد. محتوای این بخش جهت توسعه برخی ویژگیهای ماژول در نظر گفته شده است و ممکن است نیاز به دانش برنامه نویسی داشته باشد.
شخصی سازی واحد اندازه گیری #
درصورتی که واحد اندازه گیری مورد نظر شما در بین واحدهای از پیش تعریف شده ماژول وجود ندارد. میتوانید با ایجاد یک کپی از فایل modules\addons\IranTax\resources\units.dist.json
و تغییر نام آن به units.json
نسبت به شخصی سازی واحدهای اندازه گیری اقدام کنید. فهرست واحدها به صورت JSON در این فایل ذخیره شده است. جهت دریافت فهرست واحدهای اندازه گیری مجاز به سایت سازمان امور مالیاتی کشور مراجعه کنید.
افزودن دکمه دریافت فاکتور رسمی به ناحیه کاربری #
در صورتی که تمایل دارید امکان دریافت فاکتور رسمی را برای کاربران ممکن کنید، میتوانید با قرار دادن تکه کد زیر در فایل viewinvoice.tpl قالب خود و در محل مورد نظر خود اقدام به انجام این کار کنید.
<a href="index.php?m=IranTax&action=view_invoice&id={$invoiceid}" class="btn btn-info">دریافت فاکتور رسمی</a>
به صورت کلی آدرس دریافت فاکتور رسمی از سمت کاربر به صورت زیر است:
https://آدرس-پنل-کاربری/index.php?m=IranTax&action=view_invoice&id=شماره_صورت_حساب
قلابهای توسعه #
سیستم WHMCS دارای قلابهایی جهت توسعه عملکرد خود است. ماژول فاکتور رسمی و سامانه مودیان دارای چند قلاب اختصاصی جهت توسعه ماژول است. این قلابها از نسخه ۱.۰.۲ به ماژول اضافه شده است.
IranTaxCompleteProfileOutput #
این قلاب این امکان را فراهم میکند که در صورت فعال بودن ویژگی «اجبار به تکمیل مشخصات پیش از مشاهده صورتحساب» در صفحه تکمیل مشخصات محتوای مورد نظر خود را اضافه کنید.
add_hook('IranTaxCompleteProfileOutput', 1, function ($vars) { // $vars is an array that consists of clientid // return html return 'Sample Code'; });
IranTaxBeforeUpdateProfile #
این قلاب این امکان را فراهم میکند که در صورت فعال بودن ویژگی «اجبار به تکمیل مشخصات پیش از مشاهده صورتحساب» پارامترهای مختلف پروفایل کاربر را شخصی سازی کنید.
add_hook('IranTaxBeforeUpdateProfile', 1, function ($vars) { // $vars consists of module parameters that passed to UpdateClient API // die(var_dumps($vars)); // Extra parameters that passed to UpdateClient API // https://developers.whmcs.com/api-reference/updateclient/ return [ 'customfields' => [ // update value for custom field #15 15 => 'sample data' ], ]; });
IranTaxAfterUpdateProfile #
این قلاب در صورت فعال بودن ویژگی «اجبار به تکمیل مشخصات پیش از مشاهده صورتحساب» بعد از بروزرسانی مشخصات کاربر فراخوانی میشود.
add_hook('IranTaxAfterUpdateProfile', 1, function ($vars) { // $vars is an array that consists of clientid });