প্যানেল দ্বারা উত্পাদিত এইচটিএমএল পরিবর্তন করা: এটা কি সম্ভব?


15

আমি প্যানেলগুলি ব্যবহার করতে চাই, তবে প্যানেলগুলি বিট টু স্টাইলের ব্যথার কারণ এটি প্রচুর পরিমাণে ডিভ তৈরি করে। এছাড়াও এই বিভাগগুলিতে এটি প্রয়োগ করা ক্লাসগুলি কোনও বুদ্ধিমান নয় এবং উপায়টি খুব বিশাল। আমার সহকর্মী ফ্রন্ট-এন্ডারদের মধ্যে বিভ্রান্তির কারণ।

তারা উত্পন্ন আউটপুট আপনাকে দেখাতে:

প্যানেল দ্বারা আউটপুট

সমস্যাটি হ'ল আমি 960.gs এবং প্যানেলগুলি ব্যবহার করছি তাদের নিজস্ব ক্লাস এবং বিশাল ডিভি কাঠামো যুক্ত করে, যার ফলে আমাকে তাদের ক্লাসগুলি ওভাররাইড করতে হবে। এটি এমন কিছু যা আমি করতে চাই না, আমি ডিভগুলি পরিষ্কার করতে চাই। এই কাজ করতে কোন উপায় আছে কি?

সম্পাদনা:

কিছু ডিভ পরিষ্কার করতে আমি কী করেছি যা আমি অকেজো বলে মনে করেছি:

নমনীয়.ইন্সে লাইন # 388 থেকে শুরু করে (প্যানেল / প্লাগিন / লেআউট / নমনীয়)

$output = '';     
//$output = "<div class=\"panel-flexible " . $renderer->base['canvas'] . " clearfix\" $renderer->id_str>\n";
    //  $output .= "<div class=\"panel-flexible-inside " . $renderer->base['canvas'] . "-inside\">\n";

      $output .= panels_flexible_render_items($renderer, $settings['items']['canvas']['children'], $renderer->base['canvas']);

      // Wrap the whole thing up nice and snug
      //$output .= "</div>\n</div>\n";

আমি আসলে নমনীয় বিন্যাসের একটি অনুলিপি তৈরি করেছিলাম এবং এটি সম্পাদনা করি, তবে এই প্রকল্পে আমার আরও সময় থাকলে আমি এর জন্য একটি ক্লিনার প্লাগইন তৈরি করব।

দ্রষ্টব্য: এটি সর্বোত্তম সমাধান নয়, এটি আমার লক্ষ্য অর্জনের পক্ষে দ্রুততমতম রুট। নিজের নিজস্ব প্লাগইন তৈরি করা সবচেয়ে ভাল উপায়, আপনি সর্বদা বিদ্যমান প্লাগইনগুলির একটি বেস হিসাবে ব্যবহার করতে পারেন।

উত্তর:


19

আমি আগে এই বিষয়টি দেখেছি। আপনি যে পড়তে চান তা এখানে । এটি প্রথমে বাদাম বলে মনে হচ্ছে তবে এটি এরকম হওয়ার পিছনে আসলে ভাল কারণ রয়েছে।

নীচের লাইন: প্যানেলগুলি নমনীয় বিন্যাসগুলি প্রোটোটাইপিং সরঞ্জাম হিসাবে ভাবেন । বিকাশ, মঞ্চায়ন, ব্যবহারকারী-পরীক্ষা ইত্যাদির জন্য আইডিয়া খসড়া করার জন্য এটি ব্যবহার করুন, তারপরে আপনি যখন নিখুঁত বিন্যাসটি সাইন আপ করে ফেলেছেন, তখন এটি কাস্টম প্যানেলস লেআউট হিসাবে পরিষ্কার, খাস্তা, হ্যান্ড-অপ্টিমাইজড এইচটিএমএল দিয়ে উত্পাদনের জন্য প্রয়োগ করুন (আরও বেশি নীচে যারা)।

আমি যে সমস্যাটির সাথে লিঙ্ক করেছি তার ভিত্তিতে এটি কেন এটি হল তার দ্রুত সংক্ষিপ্তসার এখানে:

  • প্যানেলগুলির এইচটিএমএল আউটপুটটির জন্য যে ক্রেজিস্টের নমনীয় লেআউটগুলি তৈরি করতে চায় তার সাথে সামঞ্জস্য করতে সক্ষম হওয়ার জন্য সমস্ত পাগল মার্কআপ প্রয়োজন needs পাশাপাশি নেস্টেড তরল এবং স্থির অঞ্চলগুলি বোঝাও।
  • এইচটিএমএল পিউরিস্টগুলির জন্য স্বয়ংক্রিয়ভাবে উত্পন্ন কোনও কিছুই যথেষ্ট ভাল হবে না, তাই প্যানেলগুলি তাদের নমনীয় বিন্যাস বৈশিষ্ট্যের মধ্যে সুখী রাখার চেষ্টা করেনি । সুতরাং এমন কোনও HTML অপ্টিমাইজার অ্যালগরিদম নেই যা আপনার লেআউটটি উত্পন্ন ন্যূনতম পর্যন্ত তৈরি করার চেষ্টা করে, কারণ এটি যত ভালই হোক না কেন এটি এখনও সেরা মানের HTML নয়।
  • তারা উল্লেখ না করে এমন কিছু: যদি এই ধরনের অপটিমাইজার থাকত তবে বিন্যাসে কিছু নির্দিষ্ট পরিবর্তনগুলি এখন-রিডানড্যান্ট ডিভ এবং ক্লাসগুলি অদৃশ্য হয়ে যাবে। আপনি যদি এইগুলি সিএসএস ঝুলিয়ে রাখেন তবে আপনাকে প্যানেলগুলির নমনীয় বিন্যাসে একটি ছোট পরিবর্তন করার জন্য আপনাকে বেশিরভাগ সময় নিজের সিএসএস পুনরায় লিখতে হবে। এর অর্থ হ'ল তারা যদি প্যানেলগুলিকে নমনীয় বিন্যাসগুলি একটি সেরা-মানের উত্পাদন সরঞ্জাম হিসাবে পরিণত করার চেষ্টা করে, তবে তারা এটিকে প্রোটোটাইপিং সরঞ্জাম হিসাবে দুর্বল করে তুলত।
  • আপনি পরিষ্কার, পাতলা প্যানেল এইচটিএমএল আউটপুট পেতে পারেন । লাইনগুলির মধ্যে পড়া প্রত্যাশিত কর্মপ্রবাহ, আমি কি বিশ্বাস করি এরকম কিছু:
    • প্রাথমিক বিকাশের সময় আপনি প্যানেলগুলি নমনীয় লেআউটগুলি ব্যবহার করেন, ধারণাগুলি চেষ্টা করার সময়।
    • একবার আপনি কোনও নির্দিষ্ট বিন্যাসে স্থির হয়ে গেলে, আপনি যদি পরিষ্কার এইচটিএমএল চান, আপনি এটি একটি কাস্টম বিন্যাস ব্যবহার করে প্রয়োগ করেন, আপনার সাইটের জন্য সঠিক মাত্রা, শব্দার্থক ইত্যাদি দিয়ে যে লেআউটটি প্রয়োজন ঠিক তার নির্দিষ্ট পরিমাণ ব্যবহার করে (নীচে কীভাবে )।

যদিও আমি প্রথমে এটি পছন্দ করি নি, প্রতিচ্ছবিতে আমি মনে করি এটি বোধগম্য। অসম্ভবকে চেষ্টা করার পরিবর্তে এবং এমন একটি সরঞ্জাম তৈরি করার চেষ্টা করুন যা প্রোটোটাইপিংয়ের জন্য এবং উত্পাদন প্রসঙ্গে সেরা মানের জন্য উভয়ই নিখুঁত - যার উভয়েরই খুব আলাদা প্রয়োজন হয় এবং কেবল একটিরূপে ফলস্বরূপ হতে পারে যা উভয়ের পক্ষে একেবারেই সঠিক ছিল না - তারা প্রোটোটাইপিংয়ের জন্য আদর্শ এমন একটি সরঞ্জাম এবং অন্য একটি পৃথক সরঞ্জাম (কাস্টম লেআউট) নিয়ে গেছে যা হাতা উত্পাদনের জন্য আদর্শ।

এর অর্থ আপনি সেরা-মানের এইচটিএমএল এর উপর ভিত্তি করে টেম্পলেট হিসাবে আপনার চূড়ান্ত বিন্যাসকে আরোপিত করার জন্য আরও কিছুটা বেশি কাজের ব্যয়ে উভয়ের সেরাটি অর্জন করতে পারেন - তবে এইচটিএমএল পিউরিস্ট যেভাবেই কিছুটা বাড়তি কাজ পেতে চাইবে তাদের আউটপুট নিখুঁত।


কীভাবে কাস্টম প্যানেল লেআউট তৈরি করবেন? আছে কি ভাবে সেটি করবেন উপর ডকুমেন্টেশন বিস্তারিত নির্দেশিকা । এখানে একটি দ্রুত প্রাথমিক সারসংক্ষেপ:

  1. একটি বিদ্যমান লেআউট /sites/all/modules/panels/plugins/layoutsহয়ে কপি করুন/sites/all/themes/[your_theme_name]/layouts/[new_unique_layout_machine_name]
  2. তাদের নতুন ফোল্ডারের নামের সাথে মেলে নতুন কপির মধ্যে ফাইলগুলির নাম পরিবর্তন করুন। নোট করুন যে .tpl.phpফাইলটিতে আন্ডারস্কোরের পরিবর্তে হাইফেন থাকা উচিত।
  3. থিম তথ্য ফাইলে একটি লাইন যুক্ত করুন: plugins[panels][layouts] = layoutsএটি প্যানেলগুলিকে জানায় যে আপনার এই থিমটিতে কাস্টম লেআউট রয়েছে এবং সেগুলি কোথায় রয়েছে ( layoutsযদি আপনার থিম থেকে আপনার কাস্টম বিন্যাস ফোল্ডারে না যায় তবে স্ট্রিংটি প্রতিস্থাপন করুন )
  4. আপনার নিখুঁত, মসৃণ, ন্যূনতম, শব্দার্থবিজ্ঞানের সেরা-মানের HTML এবং CSS এর সাহায্যে ফাইলগুলি সম্পাদনা করুন।

    • .incনাম, বিভাগ, ফাইলের নাম ইত্যাদির মতো আপনার লেআউট সম্পর্কিত তথ্য সহ ফাইলটি আপডেট করতে ভুলবেন না
    • theme.inc ফাইলটিতে .tpl.phpএক্সটেনশন ছাড়াই ফাইলটির ফাইলের সাথে মিল রাখা উচিত । আপনি মানটিতে এখানে যে কোনও আন্ডারস্কোর প্রবেশ করেন তা themeহাইফেন্সে রূপান্তরিত হবে।
    • .pngআপনার আসল বিন্যাসকে আরও ভালভাবে প্রতিবিম্বিত করতে আইকন সম্পাদনা বিবেচনা করুন ।
  5. ক্যাশে সাফ করুন। আপনার নতুন লেআউটটি .incফাইলটিতে উল্লিখিত নাম, বিভাগ ইত্যাদির সাথে প্যানেলে একটি বিকল্প হিসাবে উপস্থিত হবে। এটা ব্যবহার করো.

1
থানেক্স ম্যান! এটি আমার জন্য বিকেলে বাকি সময়টুকু গ্রহণ করবে ... তবে এটি "হ্যাকিং" না করেই করা যায় যাতে আমার মন কিছুটা কমিয়ে দেয়। বিটিডব্লিউ: আমি আশা করি এই পোস্টটি কোনওভাবেই গুগলে আপ হবে কারণ আমি ইস্যু সংক্রান্ত কোনও পোস্ট পাইনি: এস।
thecodeassassin

@ স্টেফেন আমি অবাক হয়েছি যে আমি কোন প্রশ্ন জিজ্ঞাসা করার পরে এবং নিজের প্রশ্নগুলি শেষ করার পরে 6 মাস + আমি কত ঘন ঘন কিছু অনুসন্ধান করি। বা একই এসই প্রশ্ন ...
ওয়ার্নারসিডি

আমি মনে করি এই প্রশ্ন এবং উত্তরটি অত্যন্ত কার্যকর, তাই আমি এর শিরোনামে একটি সম্পাদনার পরামর্শ দিয়েছি যা গৃহীত হয়েছে। আমি নিজেই সেখানে একই প্রশ্নটি জিজ্ঞাসা করেছি: drupal.stackexchange.com/questions/69807/theming-panels-html যা একটি সদৃশ
জর্জ ক্যাটসনোস

5

প্যানেলগুলির জন্য মার্কআপ আউটপুট নিয়ন্ত্রণের জন্য আপনি ক্লিন মার্কআপ ড্রুপাল 7 মডিউলটি বিবেচনা করতে পারেন ।

আমি এই পৃষ্ঠাটি ব্রাউজারে অনুসন্ধান করেছি এবং ইতিমধ্যে ব্যবহারকারীর দ্বারা দেওয়া সত্যিকারের ভাল বিস্তৃত উত্তর সহ ইতিমধ্যে এর কোনও উল্লেখ পাইনি।

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