Advanced theme development (custom templates, Twig logic)

Themes ব্যবস্থাপনা এবং কাস্টমাইজেশন - গ্র্যাভ (Grav) - Web Development

200

Grav একটি অত্যন্ত কাস্টমাইজেবল কনটেন্ট ম্যানেজমেন্ট সিস্টেম (CMS) যা PHP এবং Twig টেমপ্লেট ইঞ্জিন ব্যবহার করে থিম ডেভেলপমেন্টে অসীম নমনীয়তা প্রদান করে। থিম ডেভেলপমেন্টে আপনি কাস্টম টেমপ্লেট তৈরি করতে পারেন এবং Twig লজিক ব্যবহার করে ডাইনামিক কনটেন্ট প্রদর্শন করতে পারেন। এখানে আমরা Grav থিম ডেভেলপমেন্টের কিছু উন্নত বিষয় যেমন কাস্টম টেমপ্লেট তৈরি এবং Twig লজিক ব্যবহারের বিস্তারিত আলোচনা করব।


১. কাস্টম টেমপ্লেট তৈরি

Grav এর থিমিং সিস্টেমের মধ্যে, প্রতিটি পেজ একটি টেমপ্লেট ফাইল ব্যবহার করে যা ডিফল্ট ভাবে Twig টেমপ্লেট ইঞ্জিন দ্বারা প্রসেস করা হয়। আপনি আপনার থিমে কাস্টম টেমপ্লেট তৈরি করতে পারেন, যা সাইটের পেজ কাঠামো ও ডিজাইন নিয়ন্ত্রণ করে।

কাস্টম টেমপ্লেট তৈরি করার ধাপ

  1. থিমের টেমপ্লেট ডিরেক্টরি: প্রথমে আপনার থিমের user/themes/[your_theme]/templates/ ডিরেক্টরিতে যান।
  2. নতুন টেমপ্লেট ফাইল তৈরি: আপনি একটি নতুন Twig ফাইল তৈরি করতে পারেন, যেমন custom_template.html.twig
  3. Twig সিনট্যাক্স ব্যবহার: এখানে আপনি আপনার কাস্টম HTML এবং Twig কোড ব্যবহার করবেন।
{% extends 'partials/base.html.twig' %}

{% block content %}
  <h1>এটি একটি কাস্টম টেমপ্লেট</h1>
  <p>এটি একটি কাস্টম পেজ যা Twig টেমপ্লেট ব্যবহার করছে।</p>
{% endblock %}

কাস্টম টেমপ্লেট ব্যবহারের জন্য কনফিগারেশন পরিবর্তন

Grav-এ কাস্টম টেমপ্লেট ব্যবহার করতে হলে আপনাকে পেজের YAML কনফিগারেশন ফাইলে (যেমন user/pages/01.home/default.md) টেমপ্লেটের নাম উল্লেখ করতে হবে:

template: custom_template

এটি নির্দেশ করবে যে পেজটি custom_template.html.twig ফাইল ব্যবহার করবে।


২. Twig Logic ব্যবহার

Twig হলো একটি টেমপ্লেট ইঞ্জিন যা PHP থেকে পৃথকভাবে কাজ করে। এটি সিম্পল, ক্লিন এবং ফ্লেক্সিবল কোড প্রদান করে। Grav এর থিম ডেভেলপমেন্টে Twig ব্যবহার করার মাধ্যমে আপনি ডাইনামিক কনটেন্ট প্রদর্শন করতে পারেন এবং লজিক প্রয়োগ করতে পারেন।

Twig লজিক এর ব্যবহার

  1. যথাযথ শর্ত (Conditional Statements): Twig-এ if, else এবং elseif শর্তাবলী ব্যবহার করা যায়।
{% if page.header.show_title == true %}
  <h1>{{ page.title }}</h1>
{% else %}
  <h1>ডিফল্ট শিরোনাম</h1>
{% endif %}

এখানে, যদি পেজের হেডারে show_title বৈশিষ্ট্যটি true হয়, তাহলে পেজের শিরোনাম প্রদর্শিত হবে।

  1. লুপ (Loops): আপনি for লুপ ব্যবহার করে ডেটা বা কনটেন্ট লিস্ট প্রদর্শন করতে পারেন।
<ul>
  {% for post in page.collection %}
    <li>{{ post.title }}</li>
  {% endfor %}
</ul>

এটি পেজের সমস্ত পোস্টের শিরোনামকে একটি তালিকায় প্রদর্শন করবে।

  1. ফিল্টার (Filters): Twig ফিল্টার ব্যবহার করে আপনি ডেটার উপস্থাপন রূপ পরিবর্তন করতে পারেন, যেমন টেক্সটের কেস পরিবর্তন বা ডেট ফরম্যাট করা।
<p>{{ page.date|date("Y-m-d") }}</p>

এটি পেজের ডেটা ফিল্টার করে তাকে Y-m-d ফরম্যাটে রেন্ডার করবে।


৩. কাস্টম ফাংশন এবং ভ্যারিয়েবল ব্যবহার

Grav এর Twig টেমপ্লেটে আপনি কাস্টম ফাংশন এবং ভ্যারিয়েবল ব্যবহার করতে পারেন যা আপনি পেজের ডেটা বা কনটেন্টের সাথে যুক্ত করতে পারেন।

কাস্টম ফাংশন ব্যবহার

আপনি নিজের কাস্টম ফাংশন তৈরি করতে পারেন এবং Twig টেমপ্লেটে ব্যবহার করতে পারেন। Grav প্লাগইন বা থিমের ফাংশন ফাইলের মাধ্যমে এটি করা যায়।

// `user/plugins/myplugin/myplugin.php` ফাইলে
$grav['twig']->twig_vars['custom_var'] = 'এটি একটি কাস্টম ভ্যারিয়েবল';

এখন আপনি এই ভ্যারিয়েবলটি Twig টেমপ্লেটে ব্যবহার করতে পারেন:

<p>{{ custom_var }}</p>

কাস্টম ভ্যারিয়েবল

আপনি কাস্টম ভ্যারিয়েবল তৈরি করে সেগুলি টেমপ্লেটে ব্যবহার করতে পারেন, যেমন পেজের মেটা ডেটা, শিরোনাম বা অন্যান্য কাস্টম ডেটা।

{% set page_title = "আমার কাস্টম পেজ" %}
<h1>{{ page_title }}</h1>

৪. পার্টিয়াল টেমপ্লেট ব্যবহার

Grav আপনাকে টেমপ্লেটের ভিন্ন অংশগুলি আলাদাভাবে সংজ্ঞায়িত করার সুবিধা দেয়, যা "পার্টিয়াল" নামে পরিচিত। পার্টিয়াল টেমপ্লেটগুলি সাধারণত হেডার, ফুটার বা সাইটের পুনরাবৃত্তি হওয়া এলিমেন্টে ব্যবহৃত হয়।

পার্টিয়াল টেমপ্লেট ব্যবহার

  1. প্রথমে একটি পার্টিয়াল টেমপ্লেট তৈরি করুন, যেমন header.html.twig
  2. তারপর আপনার মূল টেমপ্লেটে এটি ইনক্লুড করুন:
{% include 'partials/header.html.twig' %}

এটি আপনার পেজের শিরোনাম হিসাবে পার্টিয়াল ফাইলটি অন্তর্ভুক্ত করবে।


৫. Grav এর কাস্টম থিম এবং Twig টেমপ্লেটের সুবিধা

  • নমনীয়তা: Grav এর কাস্টম টেমপ্লেট এবং Twig ব্যবহার করে আপনি সহজে এবং দ্রুত সাইটের ডিজাইন কাস্টমাইজ করতে পারেন। একাধিক টেমপ্লেট ফাইল ব্যবহার করে সাইটের ডিজাইন ভিন্নভাবে সাজানো সম্ভব।
  • ডাইনামিক কনটেন্ট: Twig লজিক ব্যবহার করে সাইটে ডাইনামিক কনটেন্ট প্রদর্শন করা যায়। এটি কনটেন্টের ভিত্তিতে স্বয়ংক্রিয়ভাবে পরিবর্তন করে।
  • থিমিং সিস্টেমের শক্তি: Grav এর থিমিং সিস্টেম উন্নত এবং নমনীয়, যা ডেভেলপারদের অনেক সুবিধা প্রদান করে। আপনি সাইটের বিভিন্ন অংশ আলাদা আলাদা টেমপ্লেটে সাজাতে পারেন এবং কাঠামো অনুযায়ী উপস্থাপন করতে পারেন।

Grav CMS-এ কাস্টম টেমপ্লেট তৈরি এবং Twig লজিক ব্যবহার করার মাধ্যমে আপনি সাইটের ডিজাইন এবং কার্যকারিতা পূর্ণভাবে কাস্টমাইজ করতে পারবেন। এটি ডেভেলপারদের জন্য একটি শক্তিশালী টুল, যা তাদের ওয়েবসাইটের ফাংশনালিটি বাড়াতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...