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