পেজ টেমপ্লেট কাস্টমাইজ করা এবং টেমপ্লেট inheritance এর মাধ্যমে কনটেন্ট ব্যবস্থাপনা

পেজ টাইপ এবং টেমপ্লেটিং - গ্র্যাভ (Grav) - Web Development

196

Grav একটি অত্যন্ত কাস্টমাইজযোগ্য এবং নমনীয় CMS, যা ডেভেলপারদের জন্য শক্তিশালী টেমপ্লেট সিস্টেম প্রদান করে। Grav-এ পেজ টেমপ্লেট কাস্টমাইজ করা এবং টেমপ্লেট ইনহেরিট্যান্স (Template Inheritance) ব্যবহার করে কনটেন্ট ম্যানেজমেন্ট আরও সহজ এবং কার্যকর করা যায়। Grav-এ টেমপ্লেট কাস্টমাইজেশন পদ্ধতি আপনার সাইটের ডিজাইন এবং কনটেন্টের অভ্যন্তরীণ কাঠামোকে সম্পূর্ণভাবে কাস্টমাইজ করার সুযোগ দেয়।


Grav-এ পেজ টেমপ্লেট কাস্টমাইজ করা

Grav-এ পেজ টেমপ্লেট কাস্টমাইজেশন একটি সহজ প্রক্রিয়া। Grav এর টেমপ্লেট সিস্টেম মূলত Twig টেমপ্লেট ইঞ্জিন ব্যবহার করে। Twig হল একটি শক্তিশালী টেমপ্লেট ভাষা যা HTML, CSS এবং JavaScript কোডের মধ্যে ডাইনামিক কনটেন্ট সন্নিবেশ করতে ব্যবহৃত হয়।

Grav-এ পেজ টেমপ্লেট কাস্টমাইজ করার পদক্ষেপ:

১. টেমপ্লেট ফাইল খোঁজা Grav-এ টেমপ্লেট ফাইলগুলি সাধারণত /user/themes ফোল্ডারে থাকে। সেখানে আপনি আপনার সাইটের থিম সম্পর্কিত টেমপ্লেট ফাইলগুলি পাবেন, যেগুলি .twig এক্সটেনশন সহ থাকে।

২. টেমপ্লেট ফাইল তৈরি বা সম্পাদনা করা Grav এর ডিফল্ট টেমপ্লেট ফাইলটি সাধারণত default.twig নামে থাকে, তবে আপনি এটি কাস্টমাইজ করতে পারেন বা নতুন টেমপ্লেট ফাইল তৈরি করতে পারেন। উদাহরণস্বরূপ, যদি আপনি একটি নতুন পেজ টেমপ্লেট তৈরি করতে চান, তবে mytemplate.twig নামের একটি নতুন ফাইল তৈরি করুন।

{# mytemplate.twig #}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ page.title }}</title>
</head>
<body>
    <h1>{{ page.title }}</h1>
    <p>{{ page.content }}</p>
</body>
</html>

এখানে {{ page.title }} এবং {{ page.content }} Grav-এ সংরক্ষিত পেজের শিরোনাম এবং কনটেন্টকে ডাইনামিকভাবে প্রদর্শন করবে।

৩. টেমপ্লেট অ্যাসাইন করা একবার আপনি টেমপ্লেট ফাইলটি তৈরি বা কাস্টমাইজ করলে, পরবর্তী পদক্ষেপে আপনাকে ওই টেমপ্লেটটি পেজের সাথে সংযুক্ত করতে হবে। এটি YAML কনফিগারেশন ফাইলে করা হয়।

template: mytemplate

এটি পেজের ফোল্ডারের default.md ফাইলের মধ্যে থাকতে পারে, যা Grav-এর কনফিগারেশন ফাইল হিসেবে কাজ করে। এখন, Grav ওই পেজের জন্য আপনার কাস্টম টেমপ্লেট ব্যবহার করবে।


টেমপ্লেট ইনহেরিট্যান্স (Template Inheritance)

Grav-এ টেমপ্লেট ইনহেরিট্যান্স একটি অত্যন্ত শক্তিশালী বৈশিষ্ট্য, যা আপনাকে একটি বেস টেমপ্লেট তৈরি করতে এবং তারপর সেই বেস টেমপ্লেট থেকে অন্যান্য টেমপ্লেট ফাইলগুলিকে ইনহেরিট করতে দেয়। এর ফলে, আপনি সহজেই একাধিক পেজ বা সেকশনের জন্য সাধারণ লেআউট ব্যবহার করতে পারেন এবং কেবল বিশেষ ক্ষেত্রে কাস্টমাইজেশন করতে পারেন। এই পদ্ধতি অনেকটা OOP (Object-Oriented Programming) এর ইনহেরিট্যান্সের মতো কাজ করে।

টেমপ্লেট ইনহেরিট্যান্স ব্যবহার করার উপায়:

১. বেস টেমপ্লেট তৈরি করা প্রথমে একটি বেস টেমপ্লেট তৈরি করুন, যেটি সাধারণ পেজ লেআউটের জন্য ব্যবহৃত হবে। এই টেমপ্লেটটি সাধারণভাবে base.twig নামে থাকবে।

{# base.twig #}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ page.title }}</title>
</head>
<body>
    <header>
        <h1>{{ page.title }}</h1>
    </header>
    
    <main>
        {{ block('content') }}
    </main>
    
    <footer>
        <p>© 2024</p>
    </footer>
</body>
</html>

এখানে block('content') একটি ব্লক হিসেবে কাজ করছে, যা পরবর্তীতে অন্য টেমপ্লেটের মাধ্যমে কাস্টমাইজ করা যাবে।

২. ইনহেরিট করার জন্য সাব-টেমপ্লেট তৈরি করা এখন আপনি যেকোনো পেজের জন্য একটি সাব-টেমপ্লেট তৈরি করতে পারেন যা বেস টেমপ্লেট থেকে ইনহেরিট করবে। এই টেমপ্লেটের মধ্যে block('content') ব্লকটি কাস্টমাইজ করা যাবে।

{# mypage.twig #}

{% extends 'base.twig' %}

{% block content %}
    <h2>My Custom Page Content</h2>
    <p>This is a custom content section for the page.</p>
{% endblock %}

এখানে extends নির্দেশটি বেস টেমপ্লেট (base.twig) কে ইনহেরিট করে এবং block('content') এর মধ্যে নতুন কনটেন্ট যোগ করে।


Grav-এ টেমপ্লেট ইনহেরিট্যান্স এর সুবিধাসমূহ

১. কোড পুনঃব্যবহার

টেমপ্লেট ইনহেরিট্যান্স ব্যবহারের মাধ্যমে আপনি সাধারণ কোডের অংশগুলি একাধিক পেজের জন্য পুনঃব্যবহার করতে পারেন। এতে কোড ডুপ্লিকেশন কমে যায় এবং সাইটের ম্যানেজমেন্ট আরও সহজ হয়।

২. বিষয়ভিত্তিক কাস্টমাইজেশন

বিশেষ ধরনের পেজ বা কন্টেন্টের জন্য আলাদা কাস্টম টেমপ্লেট তৈরি করতে সহজ হয়, তবে সাধারণ লেআউট এবং স্টাইলিং বজায় থাকে। এটি সাইটের অভ্যন্তরীণ কাঠামো এবং কনটেন্ট কাস্টমাইজেশন প্রক্রিয়াকে সহজ করে।

৩. পরিষ্কার এবং সংগঠিত কোড

টেমপ্লেট ইনহেরিট্যান্স আপনাকে কোডকে আরও পরিষ্কার এবং সংগঠিতভাবে সাজাতে সাহায্য করে, কারণ প্রতিটি পেজের জন্য আলাদা আলাদা লেআউট তৈরি করার প্রয়োজন হয় না।


Grav-এ টেমপ্লেট কাস্টমাইজেশন এবং ইনহেরিট্যান্স ব্যবহার করে আপনি খুব সহজেই সাইটের ডিজাইন এবং কনটেন্ট কাঠামো কাস্টমাইজ করতে পারেন। এটি সাইটের অভ্যন্তরীণ কাঠামো এবং কার্যকারিতা পরিচালনা করার জন্য একটি শক্তিশালী এবং নমনীয় পদ্ধতি প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...