একটি রেন্ডার অ্যারেতে উপাদানগুলি কীভাবে সন্ধান করা যায়


8

আমি রেন্ডার অ্যারেতে একটি উপাদান খুঁজে পেতে অনেক সময় ব্যয় করেছি। আমি সাধারণত dpm()অ্যারে প্রিন্ট করতে ব্যবহার করি এবং তারপরে অপশনগুলি প্রসারিত না করা অবধি আমি যা খুঁজছি তা না পাওয়া পর্যন্ত।

বৃহত্তর অ্যারেতে এটি জটিল। যখন আমি ব্যবহার করি print_r(), আমি একটি পাঠ্য অনুসন্ধান করতে পারি, তবে তারপরে অ্যারের কাঠামোটি দেখতে এবং উপাদানটির পথ খুঁজে পাওয়া শক্ত।

আপনি কি অন্যান্য পদ্ধতি পরামর্শ দিতে পারেন?


এই প্রশ্নটি আমার সম্পূর্ণ প্রকাশগুলি যুক্তিযুক্ত!
নিক্সম্যাক

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

@ স্টেফগোসেলিন ওপি ইতিমধ্যে এর সাথে ডেভেল মডিউলটি ব্যবহার করছে dpm(), আমি মনে করি তিনি কোনও প্রদত্ত নাম / কী দ্বারা রেন্ডার অ্যারেতে একটি উপ-উপাদান খুঁজে বের করার জন্য কোনও ফাংশন সন্ধান করছেন
ক্লাইভ

@ মোটোট্রিব যদি আমি এটি সঠিকভাবে পেয়েছি এবং আপনি কোনও ফাংশন সন্ধান করছেন, আপনি কোন ধরণের ইনপুট / আউটপুট এটি থেকে দেওয়ার / প্রত্যাশা করবেন? $elements = find_elements_by_key($render_array, 'element_name');রেন্ডার অ্যারেতে সমস্ত উপাদানের একটি অ্যারে কোনও মিলের কী দিয়ে ফেরত দেওয়ার মতো কিছু হবে?
ক্লাইভ

সঠিক। ডেভেলের মধ্যে "ক্রামো ডিসপ্লে = অক্ষম" আরও ভাল ফর্ম্যাটেড অ্যারে দেখায় যেখানে আমি একটি পাঠ্য অনুসন্ধান ব্যবহার করতে পারি। আদর্শভাবে ক্রমো আউটপুট এবং একটি "অনুলিপি" বৈশিষ্ট্যটিতে একটি অনুসন্ধান ফাংশন থাকা উচিত যেখানে আমি টাইপ না করেই সম্পূর্ণ অ্যারে পাথ ['...'] ['...'] অনুলিপি করতে পারি। হ্যাঁ, আপনার ফাংশনটিও দুর্দান্ত হবে। এটি কোনও দ্রুপাল বা পিএইচপি ফাংশন নয়, তাই না?
uwe

উত্তর:


9

দেভেলের জন্য এক্সটেনশন মডিউল রয়েছে: ক্রুমো অনুসন্ধান করুন । এটি ক্রোমো / ডিপিএম বার্তাগুলিতে এবং সেই জায়গাগুলিতে অ্যারে খোলার জন্য পাঠ্য সন্ধান করতে জাভাস্ক্রিপ্ট ব্যবহার করে।
এটা এমন দেখতে:
এখানে চিত্র বর্ণনা লিখুন

হালনাগাদ

22 এপ্রিল ২০১২ এর পরে আপনার sdpm()অনুসন্ধান বাক্সটি দেখতে ফাংশনটি ব্যবহার করা উচিত ।


কোন উপায় নেই, আমি ঠিক তাই খুঁজছিলাম !!! ধন্যবাদ !!!
uwe

@ মোট্রব্রিবি, তাই এটি গ্রহণযোগ্য হতে পারে, আমি মনে করি :)
কালব্রো

দুঃখিত, এটি মিস করেছি এটি একটি দুর্দান্ত সরঞ্জাম, এখনই সব সময় এটি ব্যবহার করুন !!!
uwe

আমি এই এক্সটেনশন মডিউলটি কোথায় রাখি? হয় ডেভেল ডিরেক্টরিতে [\ www \ দ্রুপাল \ সাইটগুলি \ সমস্ত \ মডিউলগুলি vel দেভেল] বা অবদানীকৃত মডিউল ডিরেক্টরিগুলির ভিতরে [\ www \ দ্রুপাল \ সাইটগুলি \ সমস্ত \ মডিউল]
জিআইএলএল

আপনি দয়া করে উল্লেখ করতে পারেন যে কীভাবে sdpm () ফাংশন ব্যবহার করবেন? কোথায় পেস্ট করবেন? অনেক ধন্যবাদ.
কোডনেক্সট

5

রেন্ডার অ্যারেগুলির মধ্যে একটি বড় সমস্যা হ'ল প্রায়শই কেবল আপনি যে তথ্যের সন্ধান করছেন তার অনুলিপি কেবল পঠনযোগ্য কপি রয়েছে। আপনি যদি সত্যিই রেন্ডার আউটপুট পরিবর্তন করতে চান তবে আপনাকে সঠিকটি খুঁজে পেতে হবে। আমি সাধারণত ডিএমএম () ব্যবহার করি এবং তারপরে পৃষ্ঠার উত্সটি দেখি এবং সেখানে আউটপুটটি অনুসন্ধান করি, আমার প্রয়োজনীয় জিনিসগুলি না পাওয়া পর্যন্ত দুটি ডিসপ্লেতে পিছনে পিছনে পিছনে পিছনে পিছলে ঘুরে বেড়াচ্ছি।

আপনি যদি টার্মিনালটিতে প্রদত্ত পাথের জন্য রেন্ডার অ্যারের সামগ্রীগুলি ডাম্প করতে চান (উদাহরণস্বরূপ এটি গ্রেপের মাধ্যমে পাস করতে), আপনি এই জাতীয় কিছু করতে পারেন:

drush ev '$router_item=menu_get_item("node/7"); require_once(DRUPAL_ROOT .
"/" . $router_item["include_file"]);
$render_array=call_user_func_array($router_item["page_callback"],
$router_item["page_arguments"]); print_r($render_array);'

আপনি আপনার ব্রাউজারে কেবল 'পৃষ্ঠার উত্স দেখতে' এবং ক্লিপবোর্ডটি অবশ্যই ব্যবহার করতে পারেন, তবে উপরেরটি অ্যারে রেন্ডার দেখার জন্য কোনও ড্রশ কমান্ডের শুরু হতে পারে।

আপডেট: আমি এই বিষয়টিতে সত্যিই একটি ভাল নিবন্ধ পেয়েছি: ভীতিজনক রেন্ডার অ্যারে - সম্ভবত এখনও অবধি দেখা রেন্ডার অ্যারেগুলির সর্বোত্তম চিকিত্সা। আমারও উচিত ছিল ডেভেল_থের মডিউলটি সম্মুখভাগে উল্লেখ করা ; এটি আপনার আগ্রহী রেন্ডার বিভাগের অংশে "জুম ইন" তে একটি ভাল কাজ করে।


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