Blog List এবং Blog Post এর জন্য টেমপ্লেট কাস্টমাইজেশন

Grav এর মাধ্যমে ব্লগ তৈরি - গ্র্যাভ (Grav) - Web Development

294

Grav CMS ব্লগ তৈরি এবং পরিচালনা করতে খুবই সহজ এবং নমনীয়। Grav-এ ব্লগ লিস্ট এবং ব্লগ পোস্টের জন্য কাস্টম টেমপ্লেট তৈরি করে আপনি আপনার সাইটের ডিজাইনকে আরও কাস্টমাইজ করতে পারেন। এই টিউটোরিয়ালে ব্লগ লিস্ট (ব্লগের পেজ তালিকা) এবং ব্লগ পোস্টের জন্য কাস্টম টেমপ্লেট তৈরি এবং কাস্টমাইজ করার প্রক্রিয়া আলোচনা করা হবে।


ব্লগ লিস্ট টেমপ্লেট কাস্টমাইজেশন

ব্লগ লিস্ট টেমপ্লেটটি সাইটে ব্লগ পোস্টগুলোর তালিকা প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি সাধারণত ব্লগ পেজের জন্য ডিফল্ট টেমপ্লেট হিসেবে ব্যবহৃত হয়।

১. ব্লগ লিস্ট টেমপ্লেট ফাইল তৈরি করা

প্রথমে, user/themes/ ডিরেক্টরির মধ্যে আপনার ব্যবহৃত থিমের ফোল্ডারে templates ফোল্ডারে একটি নতুন টেমপ্লেট ফাইল তৈরি করুন। উদাহরণস্বরূপ, আপনি যদি custom নামক থিম ব্যবহার করেন, তাহলে user/themes/custom/templates ফোল্ডারে blog.html.twig নামের একটি টেমপ্লেট ফাইল তৈরি করুন।

{% extends 'partials/base.html.twig' %}

{% block content %}
    <h1>Our Blog</h1>
    
    {% for post in page.collection() %}
        <article class="blog-post">
            <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
            <p>{{ post.summary }}</p>
            <a href="{{ post.url }}" class="read-more">Read More</a>
        </article>
    {% endfor %}
{% endblock %}

এখানে:

  • page.collection() ব্যবহার করা হয়েছে ব্লগ পোস্টের একটি সংগ্রহ (collection) পাওয়ার জন্য।
  • প্রতিটি পোস্টের জন্য post.title, post.summary, এবং post.url ডেটা ব্যবহার করা হয়েছে।

২. ব্লগ পেজের জন্য টেমপ্লেট কনফিগার করা

আপনার ব্লগ পেজের জন্য এই কাস্টম টেমপ্লেটটি ব্যবহার করতে, আপনি user/pages/ ডিরেক্টরিতে ব্লগ পেজের .md ফাইলে নিচের মতো টেমপ্লেট নির্দেশ করতে পারেন:

title: Blog
template: blog

এতে Grav ব্লগ লিস্ট পেজটি blog.html.twig টেমপ্লেট ব্যবহার করবে।


ব্লগ পোস্ট টেমপ্লেট কাস্টমাইজেশন

ব্লগ পোস্ট টেমপ্লেটটি নির্দিষ্ট একটি ব্লগ পোস্টের বিস্তারিত প্রদর্শন করার জন্য ব্যবহৃত হয়। ব্লগ পোস্টের কাস্টম টেমপ্লেট তৈরি করা আপনাকে পোস্টের পেজে অতিরিক্ত কনটেন্ট বা স্টাইলিং যোগ করতে সহায়তা করে।

১. ব্লগ পোস্ট টেমপ্লেট ফাইল তৈরি করা

প্রথমে, user/themes/ ডিরেক্টরির মধ্যে আপনার থিমের templates ফোল্ডারে post.html.twig নামের একটি টেমপ্লেট ফাইল তৈরি করুন। এই টেমপ্লেটটি ব্লগ পোস্টের বিস্তারিত প্রদর্শন করবে।

{% extends 'partials/base.html.twig' %}

{% block content %}
    <article class="blog-post-detail">
        <h1>{{ page.title }}</h1>
        <p class="post-meta">Published on {{ page.date|date("F j, Y") }} by {{ page.author }}</p>
        <div class="content">
            {{ page.content }}
        </div>
    </article>
{% endblock %}

এখানে:

  • page.title এবং page.content ব্লগ পোস্টের শিরোনাম এবং মূল কনটেন্ট রেন্ডার করবে।
  • page.date|date("F j, Y") ব্লগ পোস্টের প্রকাশের তারিখ ফরম্যাট করবে।

২. ব্লগ পোস্ট পেজের জন্য কাস্টম টেমপ্লেট ব্যবহার করা

আপনি যদি ব্লগ পোস্টের জন্য আলাদা কাস্টম টেমপ্লেট ব্যবহার করতে চান, তবে পোস্টের .md ফাইলে নিচের মতো টেমপ্লেট নির্দেশ করতে হবে:

title: My Blog Post
template: post
date: 2024-12-22
author: John Doe

এতে Grav এই ব্লগ পোস্টের জন্য post.html.twig টেমপ্লেট ব্যবহার করবে।


ব্লগ পোস্টের কাস্টম ফিল্ড ব্যবহার করা

Grav ব্লগ পোস্টের জন্য কাস্টম ফিল্ড ব্যবহার করতে পারবেন। উদাহরণস্বরূপ, আপনি পোস্টের জন্য একটি category ফিল্ড যোগ করতে পারেন:

১. কাস্টম ফিল্ড যোগ করা

আপনার ব্লগ পোস্টের .md ফাইলে একটি কাস্টম ফিল্ড যোগ করুন:

title: "Grav Custom Post"
category: "Technology"
date: "2024-12-22"

২. কাস্টম ফিল্ড টেমপ্লেটের মধ্যে প্রদর্শন করা

আপনার post.html.twig টেমপ্লেটে কাস্টম category ফিল্ডটি প্রদর্শন করতে নিচের কোডটি ব্যবহার করতে পারেন:

<p>Category: {{ page.category }}</p>

এতে ব্লগ পোস্টের category ফিল্ডটি টেমপ্লেটে প্রদর্শিত হবে।


ব্লগ লিস্ট এবং ব্লগ পোস্টে পেজিনেশন (Pagination) যোগ করা

যদি আপনার ব্লগে অনেক পোস্ট থাকে এবং আপনি সেগুলো পেজে বিভক্ত (pagination) করতে চান, তবে Grav এর পেজিনেশন সুবিধা ব্যবহার করতে পারেন।

১. ব্লগ লিস্টে পেজিনেশন যোগ করা

blog.html.twig টেমপ্লেটের মধ্যে পেজিনেশন যোগ করতে নিচের কোডটি ব্যবহার করুন:

{% if page.collection().count > 1 %}
    <div class="pagination">
        {{ page.collection().pagination() }}
    </div>
{% endif %}

এতে ব্লগ লিস্টের শেষে পেজিনেশন বাটনগুলি প্রদর্শিত হবে, যা ব্যবহারকারীকে পোস্টের পরবর্তী পৃষ্ঠায় নিয়ে যাবে।


সারাংশ

Grav CMS-এ ব্লগ লিস্ট এবং ব্লগ পোস্টের জন্য কাস্টম টেমপ্লেট তৈরি করা সহজ এবং নমনীয়। আপনি blog.html.twig টেমপ্লেট ব্যবহার করে ব্লগের পোস্টগুলোর তালিকা প্রদর্শন করতে পারেন এবং post.html.twig টেমপ্লেট ব্যবহার করে প্রতিটি পোস্টের বিস্তারিত প্রদর্শন করতে পারেন। Grav এর টেমপ্লেট ইঞ্জিন Twig ব্যবহার করে আপনি কাস্টম ফিল্ড, পেজিনেশন এবং অন্যান্য কাস্টম বৈশিষ্ট্যও যোগ করতে পারবেন, যা ব্লগকে আরও কার্যকর এবং আকর্ষণীয় করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...