آموزش دروپال - قسمت پانزدهم - Rules - بخش اول

توسط amin, 19 بهمن, 1392

سلام

در این آموزش من و شما باهم یک نمونه ساده از Rules ایجاد می کنیم. قصد داریم سایتمون را یکم تعاملی تر (Interactive) کنیم.

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

برای شروع افزونه Rules را دانلود و نصب کرده و از بخش افزونه ها دو قسمت Rules , Rules UI را فعال کنید. اولی خود افزونه هست و دومی واسطی هست که با استفاده از اون با این افزونه کار خواهیم کرد.

به بخش پیکربندی سپس جریان کار و در انتها Rules بروید.

روی گزینه Add new rule کلیک کنید:

برای این تنظیمات یک نام وارد کنید (مانند تصویر زیر):

در قسمت Tags مقادیری را وارد کنید که بتواند در آینده شما را در شناسایی Rules های مختلف کمک بکند. مثلا اگر قرار است که بر روی محتواهای نوع Articles کار بکنیم در قسمت تگ مانند تصویر بالا وارد کنید.

روی دکمه ذخیره کلیک کنید.

در قسمت Conditions روی گزینه Add condition کلیک کرده و از قسمت گره (Node) گزینه Content is of type را برگزینید تا به صورت خودکار به صفحه ی دیگری منتقل شوید. در انتهای صفحه جدید نوع محتوا را روی گزینه مقاله (Article) انتخاب و ذخیره کنید.

در قسمت عملیات ها (Actions) یک عملیات جدید ایجاد کرده (Add action) و در قسمت مشخص شده و از بخش سیستم (system) گزینه Send email را انتخاب کنید.

در صفحه ظاهر شده چندین بخش وجود دارد:

       1 - TO

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

       2 - موضوع (Subject)

برای این مثال می توانید بنویسید " دیدگاه جدید"

       3 - پیام (Message)

در این قسمت من از متن زیر استفاده می کنم:

مدیریت محترم
برای محتوای ......................... یک دیدگاه در ......................... ارسال گردید.

در این متن دو قسمت مشخص شده به استطلاح placeholder هستند و مقدار آن ها در هنگام ارسال با عبارات صحیح پر می شود. اولین مورد عنوان مطلبی که دیدگاه برای آن نوشته شده (comment:node:title) و دومی زمان ارسال این دیدگاه (site:current-date) را ارسال خواهد کرد.

توجه کنید که هر زمان که در سایت ما دیدگاه جدیدی روی نوع محتوای مقاله ایجاد می شود این rules اجرا خواهد شد و قسمت دوم در متن بالا زمان اجرا شدن و در اصل زمان ارسال این متن را ارسال می کند که ممکن است چند ثانیه ای با زمان ارسال دیدگاه متفاوت باشد یعنی همان طور که مشخص است current-date اصلی سایت ارسال می شود ولی برای ارسال زمان ایجاد محتوا می توانیم از گزینه [comment:created] استفاده کنیم که لیست موارد را می توانید از قسمت REPLACEMENT PATTERNS مشاهده بفرمایید.

       4 - From

که آدرس ایمیلی است که این متن را ارسال می کند که می تواند آدرس رسمی سایت شما یا هر آدرس دیگری باشد برای مثال : amin[at]example.com

       5 - زبان

که زبانی است که اطلاعات از آن استخراج می شود که می توانید ابتدا گزینه switch to direct input mode را انتخاب کرده و سپس زبان مورد نظر خود را برگزینید.

 

حالا اگه سایتتون روی یک هاست با valid IP باشه می تونید تست کنید و یک دیدگاه جدید بگذارید و نتیجه را با چشم خودتون ببینید.

خیلی خوب شد

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

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

کلا این Rules سه قسمت اصلی داره :

یکی Events که حادثه ای را نشون میده که بر اثر اون باید این Rules اجرا بشه. دومی Conditions که چک میکنه که اگر چه شرایطی برقرار باشه ما باید این کار را انجام بدیم مثلا فرض کنید event را از نوع ذخیره محتوا انتخاب کردیم ولی منظورمون فقط نوع محتوای article باشه که این شرط را باید در قسمت conditions مشخص کنیم و سومی هم actions که عملیاتی که پس از بررسی این موارد اجرا میشه را مشخص می کنه. این موارد تنوع و انعطاف های زیادی دارند که باید خودتون باهاشون کار کنید تا متوجهش بشوید.

البته من خودم هم خیلی کم از این Magic Rules سر در میارم ولی خوب بازم شروع کردم .... شما هم شروع کنید :)

متن ساده

  • No HTML tags allowed.
  • نشانی‌های وب و پست الکتونیکی به صورت خودکار به پیوند‌ها تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.

mohamad (تایید نشده)

9 سال 5 ماه قبل

سلام.دمتگرم بازم مثل همیشه عالییییی D: