راهنمای جامع طراحی و ویرایش قالب سایت

این راهنما به شما کمک می‌کند تا با سیستم قالب‌سازی ما آشنا شوید و بتوانید قالب وب‌سایت خود را شخصاً ویرایش کنید یا با کمک دستیار هوش مصنوعی، قالب‌های جدید و حرفه‌ای بسازید.

۱. ساختار اصلی قالب و نحوه‌ی عملکرد بخش مدیریت قالب

در سیستم جدید قالب‌سازی (قالب‌های نسل جدید با شناسه -tmp)، هر قالب از پنج بخش اصلی کد و یک بخش تنظیمات تشکیل شده است:

نکته مهم درباره قالب‌های قدیمی و صفحه تنظیمات قالب اختصاصی (c/templatesetting.php):

اگر وب‌سایت شما در حال حاضر از قالب‌های قدیمی استفاده می‌کند، توجه داشته باشید که ذخیره‌سازی هرگونه تغییر در بخش تنظیمات قالب اختصاصی باعث می‌شود قالب فعال سایت شما بلافاصله به قالب اختصاصی (tmp-user) سوئیچ کند. بنابراین چنانچه کدهای قالب جدید را آماده نکرده‌اید یا دانش کافی در زمینه طراحی وب ندارید، از ذخیره‌سازی اطلاعات در این صفحه خودداری کنید.

۲. متغیرهای پایه و سینتکس اصلی

برای داینامیک کردن قالب و اتصال آن به پنل مدیریت، از متغیرهای خاصی استفاده می‌کنیم که با دو آکولاد باز و بسته مشخص می‌شوند.

متن‌ها (Texts)

برای نمایش متون قابل ویرایش از پنل، از فرمت {{mN | متن_پیش‌فرض}} استفاده کنید. N یک عدد یکتا است.

مثال:

<h1>{{m41 | به وب‌سایت ما خوش آمدید}}</h1>

در این مثال، اگر مدیر سایت متنی برای متغیر m41 وارد نکرده باشد، عبارت "به وب‌سایت ما خوش آمدید" نمایش داده می‌شود.

تصاویر (Images)

برای تصاویر از فرمت {{imgID | آدرس_تصویر_پیش‌فرض}} استفاده کنید. ID یک شناسه یکتا است.

نکته مهم: برای لوگوی اصلی سایت همیشه از متغیر {{img10}} استفاده کنید و برای آن تصویر پیش‌فرض قرار ندهید.

مثال:

<img src="{{img50 | https://picsum.photos/800/600}}" alt="توضیحات تصویر">

لینک‌ها (Links)

برای لینک‌ها حتماً از جفت متغیر {{linkN}} برای آدرس و {{linktitleN}} برای عنوان استفاده کنید.

مثال:

<a href="{{link20}}" title="{{linktitle20}}">{{linktitle20}}</a>

رنگ‌ها و فونت‌ها

شما می‌توانید رنگ‌ها و فونت‌های اصلی قالب را به صورت متغیر تعریف کنید تا کاربر بتواند از پنل مدیریت آن‌ها را تغییر دهد.

مثال استفاده در CSS:

.header {
    background-color: {{color1 | #3498db}};
}
body {
    font-family: '{{font1 | vazir}}', sans-serif;
}

با این کار، رنگ اصلی و فونت اصلی قالب از طریق پنل قابل تغییر خواهند بود.

دستورات شرطی (Conditions)

موتور قالب‌ساز جدید امکان استفاده از دستورات شرطی {{if key}} ... {{endif}} را فراهم کرده است. در صورتی که متغیر یا کلید مورد نظر مقدار داشته باشد (خالی یا undefined نباشد)، محتوای داخل شرط نمایش داده می‌شود.

مثال شرط:

{{if description}}
  <p class="desc">{{description}}</p>
{{endif}}

۳. کار با لیست‌های اطلاعاتی (حلقه‌ها)

برای نمایش لیست‌هایی از اطلاعات که از دیتابیس خوانده می‌شوند (مانند اخبار، محصولات، اسلایدها)، از حلقه‌های foreach استفاده می‌کنیم.

فرمت کلی: {{foreach listName | JSON_Default | MaxItems | Filter}} ... {{endforeach}}

لیست‌های اصلی سیستم

نام لیست متغیرهای داخلی توضیحات و فیلترها
jsonmenu {{link}}, {{title}}, {{submenu}} برای نمایش منوی اصلی سایت (پشتیبانی از منوهای تو در تو).
slides {{pic}}, {{link}}, {{title}}, {{des}}, {{linktitle}} لیست اسلایدهای فعال در اسلایدشو.
news / articles {{pic}}, {{link}}, {{title}}, {{description}}, {{postdate}}, {{writer}}, {{cat}} اخبار یا مقالات. فیلترها: newest, random, mostviewed یا نام دسته‌بندی خاص.
products {{pic}}, {{link}}, {{title}}, {{description}}, {{price}}, {{originalprice}} محصولات فروشگاه. فیلترها: sale (حراج)، featured (ویژه)، newest (جدیدترین)، bestselling (پرفروش‌ترین)، random (تصادفی) یا نام دسته‌بندی.
product_categories {{cat}}, {{pic}} دسته‌بندی‌های محصولات به همراه تصویر.
gallery_images / gallery_videos {{title}}, {{pic}}, {{description}}, {{video}} تصاویر یا ویدیوهای گالری. فیلترها: newest, random یا نام دسته‌بندی.
gallery_categories {{cat}}, {{pic}} دسته‌بندی‌های گالری به همراه تصویر شاخص.

مثال: نمایش ۳ خبر جدید

<div class="news-section">
  {{foreach news | [] | 3 | newest}}
    <div class="news-item">
      <a href="{{link}}">
        <img src="/files/{{pic}}">
        <h3>{{title}}</h3>
      </a>
    </div>
  {{endforeach}}
</div>

۴. ساخت لیست‌های سفارشی (ListN)

گاهی نیاز دارید لیست‌هایی بسازید که در سیستم تعریف نشده‌اند، مانند "لیست ویژگی‌ها"، "نظرات مشتریان" یا "اعضای تیم". در این موارد از استراتژی listN استفاده کنید.

این لیست‌ها به شما اجازه می‌دهند یک بخش تکرارشونده با محتوای دلخواه بسازید که مدیر سایت بتواند آیتم‌های آن را از پنل مدیریت کم یا زیاد کند.

مثال: لیست ویژگی‌های سایت

فرض کنید می‌خواهیم بخشی برای نمایش ویژگی‌ها با آیکن، عنوان و توضیحات بسازیم.

کد HTML:
<div class="features">
  {{foreach list1 | [{"title":"عنوان پیش‌فرض", "desc":"توضیحات...", "icon":"default.png"}] }}
    <div class="feature-item">
      <img src="/files/{{icon}}" alt="{{title}}">
      <h3>{{title}}</h3>
      <p>{{desc}}</p>
    </div>
  {{endforeach}}
</div>
کد [TEMPLATECONFIG] (JSON):

برای اینکه پنل مدیریت بداند این لیست چه فیلدهایی دارد، باید آن را در بخش کانفیگ تعریف کنیم.

{
  "list1": {
    "title": "لیست ویژگی‌های صفحه اصلی",
    "type": "list",
    "listconfig": [
      { "name": "title", "title": "عنوان ویژگی", "type": "txt" },
      { "name": "desc", "title": "توضیحات کوتاه", "type": "txt" },
      { "name": "icon", "title": "تصویر/آیکن", "type": "image" }
    ]
  }
}

۵. فعال‌سازی ویرایشگر دیداری (دکمه‌های ویرایش)

برای اینکه مدیر سایت بتواند مستقیماً از روی سایت محتوا را ویرایش کند، باید دکمه‌های ویرایش را در قالب خود قرار دهید. این کار با قرار دادن شناسه متغیر در دو براکت [[]] انجام می‌شود.

۶. استفاده از دستیار هوش مصنوعی برای ساخت قالب

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

🤖 ربات هوش مصنوعی اختصاصی طراحی قالب:

برای دسترسی مستقیم به ربات هوشمند طراحی قالب و تولید کدهای قالب اختصاصی، روی لینک زیر کلیک کنید:

ورود به ربات هوش مصنوعی اختصاصی طراحی قالب 🔗

نکات کلیدی برای نوشتن درخواست (Prompt)

  • واضح و دقیق باشید: به جای "یک قالب برای من بساز"، بنویسید "یک قالب مدرن و تک صفحه‌ای برای یک شرکت معماری طراحی کن".
  • جزئیات را مشخص کنید: بخش‌های مورد نیاز خود را نام ببرید: "نیاز به بخش‌های هدر، اسلایدر، درباره ما، نمونه کارها، و فوتر دارم".
  • سبک طراحی را ذکر کنید: می‌توانید از کلماتی مانند "مینیمال"، "حرفه‌ای"، "دارک مود"، "رنگارنگ" و ... استفاده کنید.

مثال یک درخواست خوب برای AI

"یک بخش «آخرین مقالات» برای صفحه اصلی طراحی کن. می‌خواهم ۳ مقاله را در ستون‌های کنار هم نمایش دهد. برای هر مقاله، تصویر، عنوان و توضیحات کوتاهی در نظر بگیر. طراحی آن ساده و مدرن باشد."

هوش مصنوعی پس از پردازش این درخواست، پنج بخش کد (HTML, CSS, JS, ...) را به شما تحویل می‌دهد که می‌توانید مستقیماً در بخش‌های مربوطه در پنل مدیریت قالب خود کپی کنید.