Grav CMS এ একটি সিম্পল কন্ট্যাক্ট ফর্ম তৈরি করা অত্যন্ত সহজ এবং দ্রুত। Grav এর মাধ্যমে আপনি একটি কাস্টম কন্ট্যাক্ট ফর্ম তৈরি করতে পারেন, যেখানে আপনি ব্যবহারকারীর ইনপুট সংগ্রহ করতে পারবেন। এই ফর্মটি ইনপুট তথ্য যেমন নাম, ইমেইল, বার্তা ইত্যাদি গ্রহণ করবে এবং একটি নির্দিষ্ট ইমেইল ঠিকানায় পাঠাবে।
এখানে একটি সিম্পল কন্ট্যাক্ট ফর্ম তৈরি করার জন্য প্রয়োজনীয় ধাপগুলো দেওয়া হলো।
১. Contact Form প্লাগইন ইনস্টল করা
প্রথমে, Grav CMS এর মাধ্যমে একটি কন্ট্যাক্ট ফর্ম তৈরি করতে Form প্লাগইন ইন্সটল করতে হবে। এই প্লাগইন Grav এর সাথে ইনবিল্ট থাকে, তবে যদি এটি ইনস্টল না থাকে, তাহলে আপনি কমান্ড লাইনের মাধ্যমে এটি ইনস্টল করতে পারেন:
composer require getgrav/grav-plugin-form
এরপর, এই প্লাগইনটি আপনার সাইটের কনফিগারেশন ফাইলে অ্যাক্টিভ করতে হবে। যদি এটি ইতোমধ্যে ইন্সটল হয়ে থাকে, তবে আপনি পরবর্তী ধাপে যেতে পারেন।
২. কন্ট্যাক্ট ফর্ম পেজ তৈরি করা
এখন, আপনাকে Grav সাইটে একটি নতুন পেজ তৈরি করতে হবে যেখানে কন্ট্যাক্ট ফর্মটি থাকবে। আপনার user/pages/ ফোল্ডারে একটি নতুন ফোল্ডার তৈরি করুন, যেমন contact/।
/user/pages/contact/
এবং সেখানে একটি .md ফাইল তৈরি করুন, যেমন default.md।
title: "Contact Us"
template: contact
এটি Grav কে বলে দেয় যে পেজের জন্য contact.html.twig টেমপ্লেট ব্যবহার হবে।
৩. ফর্ম তৈরি করা
user/pages/contact/ ফোল্ডারের মধ্যে একটি ফাইল তৈরি করুন, যেমন form.md এবং এতে কন্ট্যাক্ট ফর্মের ফিল্ডগুলি কনফিগার করুন। নিচে একটি উদাহরণ দেয়া হলো:
form:
name: contact-form
fields:
- name: name
label: Name
placeholder: Enter your full name
autofocus: true
validate:
required: true
- name: email
label: Email
placeholder: Enter your email address
validate:
required: true
format: email
- name: message
label: Message
placeholder: Enter your message
validate:
required: true
buttons:
- type: submit
value: Send Message
process:
- email:
to: your-email@example.com
from: '{{ form.value.email }}'
subject: 'New Contact Message'
- message: 'Thank you for your message! We will get back to you shortly.'
- reset: true
এখানে:
form.name: ফর্মের নাম।form.fields: ফর্মের ইনপুট ফিল্ডগুলি (নাম, ইমেইল, বার্তা)।form.buttons: ফর্মের সাবমিট বাটন।form.process: ফর্ম সাবমিট হলে যে প্রক্রিয়া হবে (ইমেইল পাঠানো এবং কনফার্মেশন মেসেজ পাঠানো)।
এই ফর্মটি ব্যবহারকারীর নাম, ইমেইল এবং বার্তা নিয়ে একটি ইমেইল পাঠাবে যা your-email@example.com এই ইমেইল ঠিকানায় যাবে। আপনি to ফিল্ডে আপনার ইমেইল ঠিকানা যোগ করতে হবে।
৪. টেমপ্লেট তৈরি করা
এখন, আপনাকে user/themes/your-theme/templates ফোল্ডারে contact.html.twig নামক একটি টেমপ্লেট ফাইল তৈরি করতে হবে যা ফর্মের UI দেখাবে। নিচে একটি উদাহরণ দেয়া হলো:
{% extends 'partials/base.html.twig' %}
{% block content %}
<h1>{{ page.title }}</h1>
<form method="post" action="{{ url }}" enctype="multipart/form-data">
{{ form.csrf_token }}
<div>
<label for="name">{{ form.fields[0].label }}</label>
<input type="text" id="name" name="name" placeholder="{{ form.fields[0].placeholder }}" required>
</div>
<div>
<label for="email">{{ form.fields[1].label }}</label>
<input type="email" id="email" name="email" placeholder="{{ form.fields[1].placeholder }}" required>
</div>
<div>
<label for="message">{{ form.fields[2].label }}</label>
<textarea id="message" name="message" placeholder="{{ form.fields[2].placeholder }}" required></textarea>
</div>
<div>
<button type="submit">{{ form.buttons[0].value }}</button>
</div>
</form>
{% endblock %}
এখানে:
- ফর্মের প্রতিটি ইনপুট ফিল্ড
form.fieldsএর মাধ্যমে ডাইনামিক্যালি রেন্ডার করা হচ্ছে। form.csrf_tokenCSRF সুরক্ষা টোকেন যোগ করবে, যা ফর্মের নিরাপত্তা নিশ্চিত করে।
৫. ফর্ম কনফিগারেশন এবং টেমপ্লেট ব্যবহার
এখন, আপনি যখন contact পেজে যান, Grav আপনাকে কন্ট্যাক্ট ফর্মটি দেখাবে। ফর্মটি সাবমিট করার পর, এটি ইমেইল পাঠাবে এবং ব্যবহারকারীর কাছে একটি কনফার্মেশন মেসেজ প্রদর্শন করবে।
৬. ফর্মের প্রক্রিয়া পরীক্ষা করা
ফর্মটি ইনস্টল এবং কনফিগার করার পর, এটি টেস্ট করতে আপনার সাইটের কন্ট্যাক্ট পেজে গিয়ে ফর্ম পূরণ করুন এবং সাবমিট করুন। যদি সবকিছু সঠিকভাবে কনফিগার করা থাকে, তবে ফর্মটি সফলভাবে সাবমিট হবে এবং নির্দিষ্ট ইমেইল ঠিকানায় একটি ইমেইল পাঠানো হবে।
সারাংশ
Grav-এ একটি সিম্পল কন্ট্যাক্ট ফর্ম তৈরি করা সহজ এবং দ্রুত। Grav এর Form প্লাগইন ব্যবহার করে আপনি কাস্টম কন্ট্যাক্ট ফর্ম তৈরি করতে পারেন, যেখানে ব্যবহারকারীর তথ্য সংগ্রহ করা যায় এবং সেই তথ্য ইমেইলের মাধ্যমে পাঠানো যায়। Grav এর টেমপ্লেট সিস্টেমের মাধ্যমে আপনি ফর্মের ডিজাইন কাস্টমাইজ করতে পারবেন এবং প্রক্রিয়াটির সমস্ত ফিচার সহজে কনফিগার করা যায়।
Read more