Grav CMS একটি অত্যন্ত কাস্টমাইজেবল কনটেন্ট ম্যানেজমেন্ট সিস্টেম, যা আপনি আপনার প্রয়োজন অনুযায়ী কাস্টম ফর্ম, কনফিগারেশন এবং ব্লুপ্রিন্ট তৈরি করতে ব্যবহার করতে পারেন। Blueprints হল Grav এর একটি শক্তিশালী ফিচার যা সাইটের কনটেন্ট পেজ এবং ফর্ম কনফিগারেশনের জন্য কাস্টম ডেটা স্ট্রাকচার তৈরি করতে সাহায্য করে। Grav এর Custom Blueprints তৈরি করে আপনি সাইটের কনটেন্ট পেজ, থিম বা প্লাগইনগুলোর জন্য সহজেই কাস্টম ফর্ম এবং কনফিগারেশন তৈরি করতে পারবেন।
এই গাইডে আমরা আলোচনা করব কীভাবে Custom Blueprints তৈরি করতে হয় এবং এটি Grav সাইটে কীভাবে ব্যবহার করা যায়।
Blueprint কী?
Blueprint হল একটি কনফিগারেশন ফাইল যা পেজ বা কনটেন্ট টাইপের জন্য ফিল্ড, বৈশিষ্ট্য এবং অন্যান্য কনফিগারেশন সংজ্ঞায়িত করে। Grav CMS-এ ব্লুপ্রিন্ট ব্যবহার করা হয় যাতে পেজের কনটেন্ট প্যানেল ও থিম কাস্টমাইজ করা যায়।
Grav এর ব্লুপ্রিন্টগুলো সাধারণত YAML (YAML Ain't Markup Language) ফরম্যাটে হয়। এই YAML ফাইলের মাধ্যমে আপনি পেজের বিভিন্ন ফিল্ড, ডিফল্ট মান, এবং UI উপাদান কাস্টমাইজ করতে পারেন।
Grav CMS-এ Custom Blueprint তৈরি করার প্রক্রিয়া
Grav CMS-এ Custom Blueprint তৈরি করতে আপনাকে কিছু সাধারণ ধাপ অনুসরণ করতে হবে। এখানে আমরা একটি কাস্টম পেজ ব্লুপ্রিন্ট তৈরি করব, যাতে আপনি পেজ তৈরি করার জন্য একটি কাস্টম ফর্ম ব্যবহার করতে পারবেন।
১. Blueprint ফাইল তৈরি করা
প্রথমে, আপনাকে Grav সাইটের user/blueprints/ ফোল্ডারে একটি নতুন YAML ফাইল তৈরি করতে হবে। এই ফাইলটি আপনার কাস্টম ব্লুপ্রিন্টের জন্য কনফিগারেশন ফাইল হিসেবে কাজ করবে।
ধরা যাক, আপনি একটি কাস্টম "Event" পেজ তৈরি করতে চান, যেখানে পেজের জন্য কিছু নির্দিষ্ট ফিল্ড থাকবে (যেমন: ইভেন্টের নাম, তারিখ এবং বর্ণনা)। এটি করতে, আপনি event.yaml নামে একটি ব্লুপ্রিন্ট ফাইল তৈরি করবেন।
user/blueprints/event.yaml ফাইলের উদাহরণ:
title: Event Page
form:
fields:
# Event Title
- name: title
label: Event Title
type: text
help: "Enter the title of the event"
validate:
required: true
# Event Date
- name: event_date
label: Event Date
type: date
validate:
required: true
# Event Description
- name: description
label: Event Description
type: textarea
help: "Provide a description for the event"
এখানে:
title: ব্লুপ্রিন্টের শিরোনাম।form: ব্লুপ্রিন্টের ফর্ম ফিল্ডের কনফিগারেশন।title,event_date, এবংdescription: এই ফিল্ডগুলো ব্যবহারকারীর ইনপুট গ্রহণ করবে।validate: ইনপুট ফিল্ডের জন্য শর্তাবলী (যেমন, ফিল্ডটিrequiredথাকতে হবে)।
২. Blueprint ফাইলের কনফিগারেশন
Blueprint ফাইলটি তৈরি করার পর, আপনাকে এটি Grav-এর পেজ কনফিগারেশনে অন্তর্ভুক্ত করতে হবে যাতে Grav এই ব্লুপ্রিন্টটি ব্যবহার করতে পারে। এজন্য, আপনি Grav সাইটের user/pages/ ফোল্ডারে একটি নতুন পেজ তৈরি করবেন এবং সেখানে এই ব্লুপ্রিন্টটি ব্যবহার করবেন।
user/pages/01.home/event.md পেজ ফাইলের উদাহরণ:
title: "Music Concert"
blueprint: event
event_date: "2024-12-30"
description: "A grand music concert featuring live performances."
এখানে:
blueprint: event: এই পেজের জন্য আমরা আমাদের কাস্টমeventব্লুপ্রিন্ট ব্যবহার করছি।event_dateএবংdescription: এই ফিল্ডগুলো কাস্টম ব্লুপ্রিন্টের মাধ্যমে ভ্যালিডেশন এবং কনফিগারেশনের সাথে সম্পর্কিত।
৩. Blueprint-এ কাস্টম ফিল্ড এবং ভ্যালিডেশন
Grav এর ব্লুপ্রিন্ট সিস্টেম আপনাকে বিভিন্ন ফিল্ড টাইপ এবং কাস্টম ভ্যালিডেশন নিয়ম যোগ করতে সহায়তা করে। কিছু সাধারণ ফিল্ড টাইপ এবং বৈশিষ্ট্য:
- Text Fields: ব্যবহারকারীদের টেক্সট ইনপুট গ্রহণ করতে।
- Text Area: বড় টেক্সট ব্লক বা প্যারাগ্রাফের ইনপুট।
- Date Picker: তারিখ নির্বাচন করার জন্য।
- Select: ড্রপডাউন মেনু থেকে একটি মান নির্বাচন করার জন্য।
- Checkboxes: একাধিক অপশন চেক করার জন্য।
একটি উদাহরণ হিসেবে Select ফিল্ড এবং Checkbox ফিল্ড কনফিগারেশন:
form:
fields:
- name: event_type
label: Event Type
type: select
options:
conference: Conference
concert: Concert
seminar: Seminar
validate:
required: true
- name: terms
label: Accept Terms and Conditions
type: checkbox
validate:
required: true
এখানে:
- Select ফিল্ডে আপনি একটি ড্রপডাউন তৈরি করেছেন, যেখানে তিনটি অপশন রয়েছে (Conference, Concert, Seminar)।
- Checkbox ফিল্ডে ব্যবহারকারীকে "Terms and Conditions" গ্রহণ করতে বলা হয়েছে।
৪. Blueprint ফর্ম শো এবং রেন্ডারিং
Blueprint ফাইলের কনফিগারেশন সেটআপ করার পর, Grav সাইটের Admin Panel বা Twig টেমপ্লেটের মাধ্যমে ফর্ম শো করা যাবে।
Twig টেমপ্লেটে কাস্টম ফর্ম রেন্ডার করা:
{% block content %}
<h1>{{ page.title }}</h1>
<form action="{{ url }}" method="post">
{{ form.fields|render }}
<button type="submit">Submit</button>
</form>
{% endblock %}
এখানে:
form.fields|render: Grav ব্লুপ্রিন্টের ফর্ম ফিল্ডগুলো রেন্ডার করবে।- আপনি
formফিল্ডের কাস্টম কনফিগারেশন অনুযায়ী ফর্ম উপাদানগুলো দেখাতে পারবেন।
Grav CMS-এ Custom Blueprint তৈরি করার সুবিধা
- কাস্টমাইজেবল কনটেন্ট: Grav CMS এর মাধ্যমে আপনি কাস্টম ব্লুপ্রিন্ট তৈরি করে আপনার সাইটের কনটেন্ট, ফর্ম এবং পেজ কনফিগারেশন কাস্টমাইজ করতে পারবেন।
- ইউজার ফ্রেন্ডলি: Grav এর কাস্টম ব্লুপ্রিন্ট সিস্টেম ব্যবহার করে, আপনি ব্যবহারকারীদের জন্য সহজে এবং দ্রুত কনটেন্ট ইনপুট এবং এডিটিং ব্যবস্থা তৈরি করতে পারবেন।
- ফিল্ড ভ্যালিডেশন: Grav এর ব্লুপ্রিন্ট সিস্টেম ভ্যালিডেশন এবং কাস্টম ফিল্ড তৈরি করার মাধ্যমে সঠিক ডেটা সংগ্রহ এবং প্রদর্শন নিশ্চিত করে।
- গ্রাভ সাইটের থিম ও প্লাগইন কাস্টমাইজেশন: Grav CMS-এ Custom Blueprint তৈরি করার মাধ্যমে আপনি থিম এবং প্লাগইন কাস্টমাইজ করতে পারেন এবং সাইটের কনটেন্ট প্রদর্শন সঠিকভাবে কাস্টমাইজ করতে পারেন।
সারাংশ
Grav CMS-এ Custom Blueprints তৈরি করা একটি শক্তিশালী পদ্ধতি যা আপনাকে কনটেন্ট, ফর্ম এবং পেজ কনফিগারেশন কাস্টমাইজ করার সুবিধা দেয়। YAML ফরম্যাটের মাধ্যমে এই ব্লুপ্রিন্টগুলি তৈরি এবং কনফিগার করা যায়, এবং Grav সাইটে এগুলি সহজে ইমপ্লিমেন্ট করা সম্ভব। কাস্টম ব্লুপ্রিন্ট তৈরি করে আপনি ব্যবহারকারীদের জন্য একাধিক ইনপুট ফিল্ড, ফর্ম এবং কনটেন্ট টেমপ্লেট কাস্টমাইজ করতে পারেন, যা সাইটের ইউজার অভিজ্ঞতা এবং কার্যকারিতা উন্নত করে।
Read more