وب‌سایت موتور چه طور کار می‌کند؟

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



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

به طور مثال برای اینکه حداکثر 2 مورد از مطالبی که در «دسته1» روی پایگاه داده ذخیره شده است را به تصادف انتخاب کرده و تصویر، پیوند و خلاصه مطلب مربوط به هر کدام را درج کنیم؛ کافی است مشابه تصویر زیر عمل کنیم.

انتخاب تصادفی حداکثر 2 مورد از مطالب دسته1 و درج تصویر، پیوند و خلاصه برای هر یک

نمونه زیر مثال دیگری است که در آن حداکثر 4 مورد از پربازدیدترین مطالب همه دسته‌ها انتخاب شده و پیوند، نمادک، متن خلاصه، مرجع پیوند هر مطلب درج می‌شود. همچنین متن ثابت T1 که مربوط به پوسته است و از طریق سامانه مدیریت مثلاً با عبارتی مثل «بیشتر بخوانید...» یا «ادامه مطلب» تنظیم شده را در هر مطلب جایگزین %T1% می‌شود.

<ITEMS i="top_visits" limit="4" > <div class="box"> <div class="box-gray aligncenter"> <h4>%link</h4> <div class="icon"> %icon </div> <p>%excerpt</p> </div> <div class="box-bottom"> <a href="%href">%T1%</a> </div> </div> </ITEMS>

نمونه زیر موارد یک دسته ساختاری را احضار می‌کند.
دسته‌های ساختاری برای تخصیص مطالب نوشته شده به بخش‌‌‌های خاص پوسته مثل لغزانه صفحه اصلی، تک‌مطلب برگزیده مندرج در پانویس و... امکانات خوبی فراهم می‌کنند. ساختارها به پوسته سایت مرتبط هستند و با شناسه ترتیبی قابل استفاده هستند.

<ITEMS i="S2" > <li> <a href="%href">%thumb %title</a> </li> </ITEMS>

به همین ترتیب مثلاً برای درج یک فهرست عبارتی مشابه زیر را به کار می‌بریم. نمونه زیر فهرست با شناسه یک را به صورت تودرتو درج می‌کند.

<ul class="top_nav"> <LIST i="1" type="dropdown" /> </ul>

برای فراهم کردن فرم جستجو تنها کافیست عبارت جستجو را با نام search به صورت GET به صفحه اصلی سایت ارسال کنید.
مثل:

<form method="get" action="/"> <input type="text" name="search" placeholder="جستجو..." required="" /> <button type="submit">جستجو</button> </form>

در نمونه زیر برای نمایش نتایج جستجو در هر صفحه نهایتاً 9 مورد و با تصویر بند انگشتی، پیوند و خلاصه مطلب نمایش داده خواهد شد.

%search_response <ITEMS i="search" limit="9" > <div class="row"> <div class="col-md-2"> <a class="media" href="%href">%thumb</a> </div> <div class="col-md-10"> <h3>%link</h3> <p>%excerpt</p> </div> </div> </ITEMS> %search_paging

در زیر نمونه‌ای از فرم تماس با ما را می‌بینید. نام و تعداد متغیرها دلخواه است و تنها کلمه کلیدی CONTACT% تعیین کننده است.
ارسال فرم باید POST و به همان صفحه صورت گیرد. نتیجه یا خطای احتمالی را CONTACT.result% باز می‌گرداند.
برای ایجاد فرم دریافت دیدگاه نیز به طور مشابه عمل می‌شود.

%CONTACT.result <form method="POST" > <input type="text" name="author" value="%CONTACT.author" required /> <input type="text" name="subject" value="%CONTACT.subject" /> <input type="email" name="email" value="%CONTACT.email" required /> <textarea name="message" required>%CONTACT.message</textarea> <button name="cntcbtn" type="submit">ارسال</button> </form>

برای نمایش دیدگاه‌های یک مطلب می‌توان به صورت زیر عمل کرد. بدیهی است در صورتی که در مطلب مورد نظر امکان ثبت نظر فعال نشده باشد محتوای این بخش نمایش داده نمی‌شود.

<COMMENTS> <div class="col-lg-12 margintop10"> <div class="post_commentbox" ><b>%author</b><i>%htime</i> <p>%content</p><br></div> </div> </COMMENTS>

برای هر مطلب چه در جستجو، چه در مرور بایگانی یا دسته‌بندی و ... برچسب‌های زیر قابل استفاده می‌باشد:

%active فعال بودن (قابل استفاده برای فهرست‌ها)
%author نویسنده مطلب یا دیدگاه
%caption عنوان دوم مطلب یا توضیح کوتاه راجع به عنوان
%Categories دسته‌های تخصیصی مطلب
%Category دسته (اول) مطلب
%category_ancestry توالی دسته‌بندی مطلب 
%category_desc توضیح مختصر دسته
%category_index شناسه ترتیبی دسته
%category_link پیوند دسته
%category_name نام دسته
%category_page شماره صفحه دسته
%Comntno تعداد دیدگاه مطلب
%content محتوای کامل مطلب
%date تاریخ مطلب 
%day روز تاریخ مطلب
%excerpt خلاصه مطلب (متن ساده)
%format پرونده قالب مطلب
%href منبع پیوند (قابل استفاده در پیوند)
%htime زمان انسانی مطلب (مثل چند ساعت پیش) 
%icon نمادک مطلب (در صورت پشتیبانی پوسته)
%img تصویر مطلب 
%index ردیف مطلب در درج 
%link پیوند مطلب
%mdate تاریخ ویرایش مطلب
%mthumb تصویر بندانگشتی بزرگ مطلب
%mtime زمان ویرایش مطلب
%paging انتخاب صفحات
%src منبع تصویر (قابل استفاده در تصاویر) 
%taglinks پیوندهای برچسب‌های مطلب
%tags برچسب‌های مطلب
%thumb تصویر بندانگشتی مطلب
%title عنوان مطلب
%tsrc منبع تصویر بندانگشتی (قابل استفاده در تصاویر) 
%tthumb تصویر بندانگشتی کوچک مطلب
%visit تعداد بازدید مطلب 

برچسب‌هایی نیز به طور سراسری تعریف شده است.
به طور مثال برای نمایش تاریخ شمسی روز با قالب دلخواه %(PDATE(l Y/m/d% و یا %PDATE تاریخ امروز را با قالب پیش‌فرض درج می‌کند.



سامانه مدیریت محتوای وب‌سایت موتور امکان تعریف و اختصاص پرونده اچ‌تی‌ام‌ال دلخواه را برای هر مطلب یا دسته فراهم می‌کند. مثلاً به راحتی تعیین می‌کنید که برای نمایش مطلب فلان یا بایگانی مطالب دسته فلان، پرونده اچ‌تی‌ام‌ال فلان مورد استفاده قرار گیرد.

به سادگی از طریق سامانه مدیریت محتوا می‌توان اعضای یک فهرست را تنظیم کرد یا فهرست جدیدی تعریف کرد. ولی تعبیه و احضار آن فهرست باید در پرونده اچ‌تی‌ام‌ال لحاظ شود در غیر این صورت فهرست جدید جایی برای نمایش نداشته و بلا استفاده خواهد ماند.
در صورتی که مایل به طراحی یا بازتعریف تنظیمات سامانه مدیریت باشید کافی است به تنظیمات پیشرفته وارد شوید.

به همین ترتیب امکان تعریف متغیرهای سراسری هم وجود دارد. به سادگی می‌توانید مثلاً در صفحه اصلی سایت یک تصویر تعریف کنید که امکان ویرایش و مدیریت آن در سامانه مدریت فراهم باشد.

کافی است در پرونده اچ‌تی‌ام‌ال مثلاً عبارت %T3% ذکر کنید.
متناظراً در تنظیم سامانه مدیریت هم در ردیف سوم، عبارتی مشابه زیر را به کار برید. بند زیر تنظیمی در قالب تصویر (P) و بدون مقدار اولیه با نام "نشان سایت" تعریف می‌کند.

[ "نشان سایت" , "" , "P" ]

حال این ردیف در تنظیمات پوسته سامانه مدیریت ظاهر شده و امکان انتخاب و اختصاص تصویر برای آن به سادگی فراهم می‌شود.