সত্তা বৈশিষ্ট্যগুলির জন্য ক্ষেত্র বিন্যাসগুলি কীভাবে প্রয়োগ করা যায়


16

আমি সত্ত্বা এপিআই ব্যবহার করে একটি কাস্টম সত্তা তৈরি করেছি যার একটি নির্দিষ্ট শ্রেণীর বিস্তৃতকরণে নির্দিষ্ট বৈশিষ্ট্য সংজ্ঞায়িত hook_schema()এবং ঘোষণা করা হয়েছে ।entityPropertyInfo()EntityDefaultMetadataController

এ পর্যন্ত সব ঠিকই.

এখন আমি ব্যবহারকারীদের সত্ত্বাগুলি দেখার সময় এই বৈশিষ্ট্যগুলি কীভাবে প্রদর্শিত হবে এবং কীভাবে কাস্টমাইজ করতে সক্ষম হবে সেজন্য আমি হুক_ফিল্ড_েক্সট্রা_ফিল্ডগুলি () প্রয়োগ করেছি এবং তাদের ঘোষণা করেছি।

তারপরে, আমার কন্ট্রোলারে যা প্রসারিত হয় তাতে EntityAPIControllerআমি এখানেbuildContent() বর্ণিত হিসাবে $ সামগ্রী অ্যারেতে বৈশিষ্ট্যগুলি যুক্ত করেছি ।

এটি আসলে বেশ ভাল কাজ করে এবং বৈশিষ্ট্যগুলি রেন্ডার হয় এবং "প্রদর্শন পরিচালনা করুন" এর ক্রম এবং দৃশ্যমানতার সেটিংসকে সম্মান করে।

তবে, লেবেল অবস্থান ( inline/above/hidden) কাস্টমাইজ করার জন্য পরিচালনা ডিসপ্লেতে সেটিংস কীভাবে যুক্ত করবেন এবং আরও গুরুত্বপূর্ণ, কীভাবে এই বৈশিষ্ট্যগুলির জন্য কাস্টম বিন্যাস নির্দিষ্ট করতে হবে তা আমি খুঁজে বের করতে পারি না ।

কোন সংকেত সনাক্ত করুন?


1
বৈশিষ্ট্য এমনকি বিন্যাসগুলি সমর্থন করে? যেহেতু "নোড" এর "পরিচালনা পরিচালনা" এর অধীনে "শিরোনাম" নেই, তাই আমার প্রথম অনুমানটি হবে না। যদিও একটি ভাল প্রশ্নের জন্য +1।
লেথারিয়ন

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

আমি আশঙ্কা করেছিলাম যে ঘটনাটি ছিল
অ্যালেক্স ওয়েবার

উত্তর:


7

আপনি propertyক্ষেত্রের ধরণ সরবরাহ করে একটি মডিউল তৈরি করতে পারেন । উদাহরণটি সেটিং হিসাবে ফর্ম্যাট করার জন্য সম্পত্তি সঞ্চয় করুন এবং তারপরে একটি ফর্ম্যাটর প্রয়োগ করুন। এটি তুলনামূলকভাবে সোজা হওয়া উচিত। রিলেশন মডিউলটির একটি ডামি ফিল্ড মডিউল রয়েছে যা আপনাকে কোডটি কীভাবে তা নির্ধারণ করতে সহায়তা করতে পারে।


1
সত্তা প্রপার্টি ফিল্ড মডিউল এই পদ্ধতির জন্য আরেকটি প্রথম ধাপ।
অ্যান্ড্রুম্যাক্ফারসন

1

আপনি দেখতে পারেন হিসাবে field_ui_display_overview_formমধ্যে modules/field_ui/field_ui.admin.incপৃষ্ঠা Display settingসঙ্গে পূরণ হবে $instancesএবং $extra_fields:

$instances = field_info_instances($entity_type, $bundle);
$field_types = field_info_field_types();
$extra_fields = field_info_extra_fields($entity_type, $bundle, 'display');

এই ফাংশনে দুটি লুপ রয়েছে যা পৃষ্ঠাটি তৈরি করে:

foreach ($instances as $name => $instance) {
   ...
}

এবং

foreach ($extra_fields as $name => $extra_field) {
   ...
}

এবং শুধুমাত্র প্রথম লুপ যা ক্ষেত্রের মধ্যে পুনরুক্তি রয়েছে বিকল্প labelএবংformatter

সুতরাং আপনি যদি নিজের বৈশিষ্ট্যগুলিতে এই কার্যকারিতাটি চান (যেমন ক্লাইভ বলেছেন):

আপনাকে সেই পুরো প্রক্রিয়াটি নিজে প্রয়োগ করতে হবে

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