PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مخفی کردن نمایش سرویس های کنسل شده



astro.alireza
July 30th, 2012, 14:44
سلام
یکی از مشتریان که تعداد زیادی سرویس از ما داشت از من درخواست کرد که سرویس های لغو شده اش رو کلا حذف کنم تا محیط کاربریش رو شلوغ نکنه. از اونجایی که به دلیل حفظ سابقه فعالیت کاربر امکان حذف کامل سرویس کنسل شده وجود نداره، تونستم با ترفند زیر سرویس های لغو شده رو از محیط کاربری مخفی کنم. فکر کنم شما هم دنبال چنین چیزی باشید.
۲ راه واسه این کار وجود داره. یکی اینکه بخوایم کل سرویس های لغو شده واسه همه مشتری ها مخفی بشه یا اینکه فقط سرویس لغو شده کاربری که ما تعیین می کنیم مخفی بشه.
اول: مخفی کردن سرویس های لغو شده برای تمام کاربران
برای اینکار کافیه فایل clientareaproducts.tpl رو از قسمت قالب های سایت باز کنید
این قسمت رو توی فایل بالا پیدا کنید و خطوط قرمز رنگ رو بهش اضافه کنید:

{foreach from=$services item=service}
{if $service.rawstatus ne "cancelled" && $service.rawstatus ne "terminated"}
<tr>
<td>{$service.group} - {$service.product}{if $service.domain}<br /><a rel="nofollow" href="http://{$service.domain}" target="_blank">{$service.domain}</a>{/if}</td>
<td>{$service.amount}</td>
<td>{$service.billingcycle}</td>
<td>{$service.nextduedate}</td>
<td><span class="label {$service.rawstatus}">{$service.statustext}</span></td>
<td class="textcenter"><form method="post" action="{$smarty.server.PHP_SELF}?action=productdetails"><input type="hidden" name="id" value="{$service.id}" /><input type="submit" value="{$LANG.clientareaviewdetails}" class="btn info" /></form></td>
</tr>
{/if}
{foreachelse}
<tr>
<td colspan="6" class="textcenter">{$LANG.norecordsfound}</td>
</tr>
{/foreach}
با این کار سرویس های کنسل شده از دید کاربر مخفی می شه

دوم: مخفی کردن سرویس های لغو شده برای بعضی از کاربران
از منوی setup > custom client fields یه فیلد جدید با اسم "Hide Cancelled Services' و نوع "Tick Box" درست کنید. تیک قسمت "admin only" رو هم بزنید.
از بالا بشمارید ببینید این چندمین فیلدی هست که به whmcs اضافه کردید. اگر بار اولتون هست خب معلومه که اولین فیلده پس شماره اش یک می شه. مثلا واسه من این پنجمین فیلدی هست که اضافه می کنم پس شماره اش می شه پنج. این شماره رو یادتون باشه!
فایل clientareaproducts.tpl رو از قسمت قالب های سایت باز کنید
این قسمت رو توی فایل بالا پیدا کنید و خطوط قرمز رنگ رو بهش اضافه کنید:
دقت کنید به جای عدد ۵ توی عبارت clientsdetails.customfields5 عدد مربوط به فیلد خودتون رو بزارید. (همون عددی که گفتم یادتون باشه!)

{foreach from=$services item=service}
{if ($service.rawstatus ne "cancelled" and $service.rawstatus ne "terminated") || $clientsdetails.customfields5 ne "on"}
<tr>
<td>{$service.group} - {$service.product}{if $service.domain}<br /><a rel="nofollow" href="http://{$service.domain}" target="_blank">{$service.domain}</a>{/if}</td>
<td>{$service.amount}</td>
<td>{$service.billingcycle}</td>
<td>{$service.nextduedate}</td>
<td><span class="label {$service.rawstatus}">{$service.statustext}</span></td>
<td class="textcenter"><form method="post" action="{$smarty.server.PHP_SELF}?action=productdetails"><input type="hidden" name="id" value="{$service.id}" /><input type="submit" value="{$LANG.clientareaviewdetails}" class="btn info" /></form></td>
</tr>
{/if}
{foreachelse}
<tr>
<td colspan="6" class="textcenter">{$LANG.norecordsfound}</td>
</tr>
{/foreach}
برای مخفی کردن سفارشات کنسل شده یوزر مورد نظرتون وارد قسمت profile بشید و تیک گزینه Hide Cancelled Services رو بزنید! به همین سادگی!

تشکر فراموش نشود لطفا!!!