আমি কীভাবে কোনও থিমে কাস্টম অঞ্চল তৈরি করব?


58

আমি একটি নতুন অঞ্চল যুক্ত করতে চাই যা সাইটের প্রশস্ত হবে। আমার থিমটিতে এই নতুন অঞ্চলটি পাওয়ার প্রক্রিয়াটি বর্ণনা করুন, সম্ভব হলে কোনও নতুন, কাস্টম অঞ্চল যুক্ত করার জন্য এটিকে সাধারণীকরণ করুন।


উত্তর:


68

আপনি আপনার থিম। ইনফো ফাইলের অঞ্চলগুলিকে সংজ্ঞায়িত করেন। দেখুন: .info ফাইলের কাঠামো

তারপরে আপনাকে আপনার পৃষ্ঠা.tpl.php ফাইলে প্রাসঙ্গিক টেমপ্লেট ট্যাগগুলি রাখতে হবে।

সুতরাং উদাহরণস্বরূপ আপনি যদি sidebarআপনার থিমস। ইনফো ফাইলটিতে অঞ্চলটি সংজ্ঞায়িত করেন তবে আপনি তারপরে <?php print render($page['sidebar']); ?>আপনার পৃষ্ঠা.tpl.php- এ প্রাসঙ্গিক জায়গায় যুক্ত করতে পারেন।


6
আপনার থিমের একটি পেজ.tpl.php ফাইল না থাকলে আপনি নিজের থিমটিতে সিস্টেম মডিউল থেকে ডিফল্ট অনুলিপি করতে পারেন, এবং অনুলিপি পরিবর্তন করতে পারেন।
মিকি পি

5
ওমেগাকে পেজ.টিপিএল.পিপি অংশের প্রয়োজন নেই, কেবল অঞ্চলটি .info এবং সাফ ক্যাচগুলিতে ঘোষণা করুন।
কপি ইথেরিয়েল

20

অন্য একটি বিষয়: প্রয়োজনীয় অঞ্চলগুলি মিস করবেন না!

regions[content] = Content
regions[help] = Help
regions[page_top] = Page top
regions[page_bottom] = Page bottom

এটি সম্পর্কে আরও http://drupal.org/update/themes/6/7# সমাধিতে পাওয়া যাবে ।

এই বিষয়টিতে স্পষ্ট করার জন্য: আপনি যদি নিজের অঞ্চলগুলি সংজ্ঞায়িত করেন তবে প্রয়োজনীয় সমস্তগুলি সহ আপনি যা ব্যবহার করছেন তা আপনাকে অবশ্যই সংজ্ঞায়িত করতে হবে। অন্য কথায়, আপনি কেবল অতিরিক্ত অঞ্চলগুলি সংজ্ঞায়িত করতে পারবেন না: আপনি যদি কোনও সংজ্ঞা দেন তবে আপনাকে অবশ্যই সেগুলি অবশ্যই সংজ্ঞায়িত করতে হবে।


9

একটি দ্রুপাল 7 থিমের জন্য অঞ্চল তৈরি করা একটি দ্রুপাল 6 অঞ্চলের জন্য অঞ্চল তৈরি করা থেকে আলাদা নয়; ড্রুপাল 7 এবং পূর্ববর্তী সংস্করণগুলির মধ্যে পার্থক্যগুলি মূলত:

  • অঞ্চলগুলি কোনও mytheme_regions()ফাংশন ব্যবহার করে সংজ্ঞায়িত করা হয় নি যেমন এটি দ্রুপাল ৫-এ করা হয়েছিল, তবে তারা মাইথেম.ইনফোতে regions[]নির্দেশিকা ব্যবহার করে সংজ্ঞায়িত হয়েছে , যা ড্রুপাল themes থিমের সাহায্যেও করা হয়।
  • অঞ্চলগুলি render()ভেরিয়েবলের বিষয়বস্তু মুদ্রণের পরিবর্তে দ্রুপাল ফাংশন ব্যবহার করে রেন্ডার করা হয় ।

ডিফল্ট ড্রুপাল 7 অঞ্চল নিম্নলিখিত অঞ্চলগুলির মধ্যে রয়েছে:

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

ড্রুপাল core টি মূল থিমগুলিতে এখন 'হাইলাইটেড' নামের একটি অঞ্চল অন্তর্ভুক্ত রয়েছে যা দ্রুপাল in এর মিশন স্টেটমেন্ট অঞ্চল হিসাবে একই প্রদর্শন ব্যবহার করে; এগুলিতে 'সহায়তা' নামে একটি অঞ্চলও অন্তর্ভুক্ত থাকে যা ডিফল্টরূপে $helpদ্রুপাল 6 দ্বারা ব্যবহৃত ভেরিয়েবলের একই বিষয়বস্তু রয়েছে ।


4

থিম অঞ্চলগুলি আপনার থিম। ইনফো ফাইলে সংজ্ঞায়িত করা হয়েছে - দস্তাবেজগুলি দেখুনregions[corner] = Cornerকর্নার অঞ্চল পেতে কেবল একটি লাইন যুক্ত করুন ।

তারপরে আপনাকে page.tpl.php ফাইলটি সম্পাদনা করতে হবে এবং <php print render($corner); ?>অঞ্চলটি যেখানে প্রদর্শিত হবে তা যুক্ত করতে হবে। আপনার থিমের যদি পেজ.টিপিএলপিএফপি না থাকে তবে বেস থিম বা সিস্টেম মডিউল থেকে অনুলিপি করুন।

সাধারণ ক্ষতি:

  • থিম.info ফাইলটির কোনও অঞ্চল ঘোষণা না হলে এটি ড্রুপাল ডিফল্ট অঞ্চল ব্যবহার করে। আপনি যদি যুক্ত করতে চান তবে আপনাকে ডিফল্ট অঞ্চলগুলি আবার ঘোষণা করতে হবে। আপনি অবশ্যই কোনও অঞ্চল অপসারণ করতে পারেন তবে প্রয়োজনীয় অঞ্চলগুলিকে সমর্থন করুন। দেখুন ডক্স আবার।

  • .Info ফাইলের পরিবর্তনগুলি বা থিমে নতুন ফাইল যুক্ত করা (পেজ.টপিএলপিএফপি এর মতো) কেবল আপনি ক্যাশে সাফ করার পরে তা লক্ষ্য করা যাবে।

  • ওমেগা, একটি খুব জনপ্রিয় বেস থিম, কেবল পেইজ.টপিএলপিএফপি কোনও পরিবর্তন প্রয়োজন হবে না, কেবলমাত্র ইনফো ফাইল। তবে আপনাকে ইউআইতে থিম সেটিংসে যেতে হবে এবং আপনার অঞ্চলটিকে একটি জোনে নির্ধারণ করতে হবে।


এটি সাধারণ সমস্যাগুলি সহ উত্তরগুলির একটি মোড়ক।
ক্যাপি ইথেরিল

কি regions[content] = ContentD7 একমাত্র প্রয়োজনীয় অঞ্চল? drupal.org/node/171205#regions এই পরোক্ষভাবে বলে মনে হয়, কিন্তু তারপর drupal.org/node/171224 বলছেন যে প্রয়োজন অঞ্চলে হয় content, help, page_topএবংpage_bottom
জিম গ্যারিসন

আমি জানি না দ্রুপাল কোনও অঞ্চলের জন্য পরীক্ষা করে কিনা, তবে contentঅবশ্যই এটি অত্যন্ত গুরুত্বপূর্ণ। helpমূল দ্বারা সমর্থিত (আউটপুট সহায়তা বার্তাগুলিতে), page_bottomসম্ভবত যেখানে নীচের অংশে js প্রিন্ট করা থাকে এবং page_topমনে হয় মূল টুলবারের মতো নববারের জন্য এটি ব্যবহৃত হয়।
ক্যাপি ইথেরিয়েল

2

আপনার থিমটিতে কাস্টম অঞ্চল তৈরি করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার theme.info ফাইলে যান এবং এই লাইনটি যুক্ত করুন।

    regions[machine_name_of_your_region] = Name of your region
  2. যদিও আপনি নোড টেমপ্লেটেও অঞ্চল ব্লকগুলিকে কল করতে পারেন তবে আপনি সাধারণত থিমের পৃষ্ঠা টেম্পলেটটিতে অঞ্চল যুক্ত করবেন। এটি সাধারণত পৃষ্ঠা.tpl.php, বা আপনার যদি বিভিন্ন পৃষ্ঠার জন্য কাস্টম টেম্পলেট ফাইল থাকে তবে সেগুলিও সম্পাদনা করুন। নতুন অঞ্চলটি কেবলমাত্র সেই টেম্পলেটটির চারপাশে নির্মিত পৃষ্ঠাগুলিতে প্রদর্শিত হবে যেখানে আপনি নতুন অঞ্চল যুক্ত করেছেন। আপনি যেখানে নতুন অঞ্চলটি দেখতে চান সেখানে এটি আটকান।

    <?php if ($page['machine_name_of_your_region']): ?>
      <div id="sidebar-first" class="column sidebar"><div class="section">
      <?php print render($page['machine_name_of_your_region']); ?>
      </div></div> <!-- /.section, /#sidebar-first -->
     <?php endif; ?>
    
  3. কনফিগারেশন - পারফরম্যান্স - সমস্ত ক্যাশে সাফ করুন


0

থিমে একটি নতুন অঞ্চল তৈরি করুন

আপনাকে কেবল এটি দুটি ফাইলে সংজ্ঞায়িত করতে হবে।

  • Theme.info
  • Page.tpl.php

Theme.info

;;;;;;;;;;;;;;;;;;;;;
;; Regions
;;;;;;;;;;;;;;;;;;;;;

regions[navigation]      = 'Navigation'
regions[header]          = 'Top Bar'
regions[highlighted]     = 'Highlighted'
regions[new_region_name] = 'Region Name' ;; Add New Region

Page.tpl.php

এখন এই অঞ্চলটি রেন্ডার করুন

  <?php if ($page['new_region']): ?>
      <div class="new_region_class">
        <?php print render($page['new_region']); ?>
     </div>
  <?php endif; ?>

এখন সমস্ত ক্যাশে সাফ করুন, আপনি এখানে যান, আপনার থিমের একটি নতুন অঞ্চল আছে। আপনি এটি আপনার ব্লক কনফিগারেশন পৃষ্ঠাতে দেখতে পারেন।

আরও দেখার জন্য http://drupal.org/node/171205 দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.