راهنمای کامل توکن‌ها و منطق شرطی در قالب‌ها و اسکین‌های DirectAdmin

این مقاله توضیح می‌دهد که چه توکن‌هایی در قالب‌ها و اسکین‌های DirectAdmin قابل استفاده هستند، چگونه می‌توان با استفاده از |DUMPTOKENS| تمام توکن‌های موجود را مشاهده کرد، و چطور می‌توان منطق‌های شرطی پیچیده مانند AND، OR، و elseif را در سیستم قالب‌نویسی DirectAdmin پیاده‌سازی کرد.

DirectAdmin tokens, template logicDUMPTOKENSDirectAdmin skin development

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۱۰ اسفند ۱۴۰۴

1. توکن‌ها در قالب‌ها و اسکین‌های DirectAdmin


در هنگام کار با قالب‌ها، اسکین‌ها یا فایل‌های پیکربندی که از سیستم Template DirectAdmin استفاده می‌کنند، معمولاً نیاز دارید بدانید چه توکن‌هایی در آن لحظه قابل استفاده هستند.


DirectAdmin یک توکن جادویی برای این کار ارائه می‌دهد:


|DUMPTOKENS|

با قرار دادن این توکن در هر فایل قالب، DirectAdmin هنگام پردازش آن فایل، تمام توکن‌های موجود را به‌صورت:

token=value

در خروجی قرار می‌دهد.


نکته مهم: استفاده از این توکن در فایل‌های حساس مثل httpd.conf ممکن است باعث خراب شدن سرویس شود. بنابراین فقط برای تست سریع استفاده کنید و سپس آن را حذف کنید.


برای قالب‌های HTML، اسکین‌ها یا پلاگین‌ها معمولاً از این روش استفاده می‌شود:

<pre>|DUMPTOKENS|</pre>
---

2. استفاده از عملگرهای منطقی AND و OR در قالب‌ها


سیستم قالب‌نویسی DirectAdmin ساده است و مستقیماً از عملگرهای منطقی برنامه‌نویسی پشتیبانی نمی‌کند، اما می‌توان با ترکیب شرط‌ها همان رفتار را ایجاد کرد.


2.1 پیاده‌سازی AND (&&)


کد برنامه‌نویسی:

if (A == "1" && B == "1") {
    //something
}

معادل در قالب DirectAdmin:

|?TRUE=1|
|*if A!="1"|
|?TRUE=0|
|*endif|
|*if B!="1"|
|?TRUE=0|
|*endif|
|*if TRUE="1"|
    //something
|*endif|

این دقیقاً همان منطق AND را پیاده‌سازی می‌کند.


---

2.2 پیاده‌سازی OR (||)


کد برنامه‌نویسی:

if (A == "1" || B == "1") {
    //something
}

معادل در قالب DirectAdmin:

|?TRUE=0|
|*if A="1"|
|?TRUE=1|
|*endif|
|*if B="1"|
|?TRUE=1|
|*endif|
|*if TRUE="1"|
    //something
|*endif|

این دقیقاً همان رفتار OR را ایجاد می‌کند.


---

3. ساختار شرطی if – elseif – else


کد برنامه‌نویسی:

if (A == "1") {
    //something1
}
elseif (A == "2") {
    //something2
}
else {
    //else something
}

معادل در قالب DirectAdmin:

|?HAVE_SOMETHING=no|

|*if A="1"|
|?HAVE_SOMETHING=yes|
//something1
|*endif|

|*if A="2"|
|?HAVE_SOMETHING=yes|
//something2
|*endif|

|*if HAVE_SOMETHING=no|
//else something
|*endif|

نکته مهم: مقداردهی اولیه متغیرها و استفاده صحیح از ! در شرط‌ها برای عملکرد درست منطق ضروری است.


---

4. نکات مهم هنگام کار با قالب‌ها


  • همیشه پس از تست، توکن |DUMPTOKENS| را حذف کنید.
  • منطق شرطی در قالب‌ها ساده است، اما با ترکیب متغیرها می‌توان ساختارهای پیچیده ساخت.
  • اگر قالب از اسکریپت پشتیبانی کند (PHP/Perl)، کار بسیار ساده‌تر می‌شود.

نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای quota در Dovecot و بررسی آخرین لاگین‌ها در DirectAdmin

این مقاله یک مرجع جامع برای کاربران و مدیران DirectAdmin است. در این راهنما یاد می‌گیرید چگونه ایمیل را روی iPhone، Thunderbird و Gmail تنظیم کنید، هشدارهای پر شدن quota را در Dovecot فعال کنید و با یک اسکریپت ساده، آخرین زمان لاگین تمام حساب‌های ایمیل را مشاهده کنید.

ادامه

عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

ادامه

عیب‌یابی DNS در DirectAdmin – وقتی named اجرا می‌شود اما دامنه resolve نمی‌شود

گاهی سرویس named (BIND) روی سرور اجرا می‌شود اما دامنه‌ها resolve نمی‌شوند یا از بیرون پاسخ DNS دریافت نمی‌شود. این مقاله یک راهنمای کامل برای بررسی listen، فایروال، تنظیمات named.conf، propagation، رکوردهای اشتباه، مشکلات ساب‌دامین، resolv.conf و خطاهای رایج DNS در DirectAdmin است.

ادامه

مدیریت رکوردهای DNS در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DirectAdmin ابزارهای قدرتمندی برای مدیریت DNS ارائه می‌دهد: از کاهش TTL برای جلوگیری از downtime، تا ساخت رکوردهای SRV، فعال‌سازی DNSSEC، مدیریت delegation ساب‌دامین‌ها، افزودن خودکار TLSA برای DANE و حتی تغییرات گروهی (Mass Update) روی همه دامنه‌ها. این مقاله یک مرجع کامل برای مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

DNS و Nameserverها در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DNS ستون فقرات اینترنت است و وظیفه دارد نام دامنه را به IP تبدیل کند. در DirectAdmin می‌توان Nameserverهای اختصاصی ساخت، DNS را مدیریت کرد، DNS Clustering راه‌اندازی کرد و حتی از DNS خارجی استفاده نمود. این مقاله یک راهنمای جامع برای درک DNS، ساخت ns1/ns2، تنظیم Glue Record، رفع خطاها و مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

CustomBuild در DirectAdmin – راهنمای کامل نصب، به‌روزرسانی، پیکربندی و سفارشی‌سازی پیشرفته

CustomBuild ابزار اصلی DirectAdmin برای مدیریت سرویس‌ها و نرم‌افزارهای سرور است. این ابزار وب‌سرور، PHP، دیتابیس، ایمیل، FTP و بسیاری از کامپوننت‌های دیگر را نصب، به‌روزرسانی و پیکربندی می‌کند. به دلیل کامپایل از سورس، CustomBuild انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه