আমি প্রতিটি #__ বিষয়বস্তুতে একটি একক, সহজ ক্ষেত্র যুক্ত করার চেষ্টা করছি এবং আমি "কন্টাক্ট" এর জন্য "সামগ্রী" প্রতিস্থাপন করে মূল উপাদানগুলিতে কাস্টম ফিল্ড যুক্ত করার টিউটোরিয়ালটি খুব যত্ন সহকারে অনুসরণ করেছি । আমার কাছে এখন একটি ইনস্টলযোগ্য প্লাগইন রয়েছে যা অ্যাডমিন সামগ্রী আইটেম সম্পাদনা ফর্মটিতে সফলভাবে ট্যাব / ক্ষেত্রকে অন্তর্ভুক্ত করে এবং সেই অদ্ভুত "সংরক্ষণ" বৈশিষ্ট্যটি বাদ দিয়ে আশ্চর্যরূপে কাজ করে।
সংরক্ষণের একমাত্র রেফারেন্সটি (আবার যোগাযোগের পরিবর্তে সামগ্রী):
অতিরিক্ত ক্ষেত্রগুলি প্লাগইন ডিরেক্টরিতে ফাইল ফর্ম / যোগাযোগ.xml থেকে লোড করা হয়। এই ক্ষেত্রগুলি নামের ক্ষেত্রের নামটি "প্যারামগুলিতে" সেট করা ক্ষেত্রের উপাদানের মধ্যে থাকা গুরুত্বপূর্ণ। আপনি যদি এই সম্পত্তিটির নামটি সেট না করেন তবে ক্ষেত্রগুলি অ্যাডমিন সাইটে উপস্থিত হবে তবে মানগুলি সংরক্ষণ করা হবে না।
এই সতর্কতামূলক নোটটি বিদ্যমান বলে আমার কাছে পরামর্শ দেওয়া হয়েছে যে জুমলার ক্ষেত্রগুলি রয়েছে তা জানা উচিত এবং মূল কোডটি এটি পরিচালনা করে তবে যেহেতু এটি সংরক্ষণ করা হচ্ছে না, আমি ভাবছি যে আমার আর কোনও ইভেন্ট যুক্ত করা উচিত কিনা।
এখানে আমার প্রয়োজনীয় সরল ক্ষেত্রটি রয়েছে - ব্যবহারকারীর কাছে অদৃশ্য, তবে তা সমালোচনামূলক and এবং এটি সঞ্চয় করার জন্য সিসিকে প্রয়োজনের কোথাও নেই।
কী কী ভুল / নিখোঁজ হয়েছে যা কাস্টম ক্ষেত্রটি সংরক্ষণ থেকে বাঁচছে?
আপডেট: কাস্টম ফিল্ডটি ডাটাবেসে সংরক্ষিত ছিল এই আশা ছাড়িয়ে প্রত্যাশায়, আমি একই নাম দিয়ে #__ সামগ্রী টেবিলে একটি কলাম যুক্ত করেছি এবং চেষ্টা করেছি - কোনও ভাগ্য নেই।
gdp.php
class plgContentGdp extends JPlugin {
protected $autoloadLanguage = true;
function onContentPrepareForm($form, $data) {
$app = JFactory::getApplication();
$option = $app->input->get('option');
switch($option) {
case 'com_content':
if ($app->isAdmin()) {
JForm::addFormPath(__DIR__ . '/forms');
$form->loadFile('content', false);
}
return true;
}
return true;
}
}
/forms/content.xml
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fields name="params" >
<fieldset name="params" >
<field
name="content_myfield"
type="text"
label="PLG_CONTENT_GDP_MYFIELD"
/>
</fieldset>
</fields>
</form>
রেন্ডার করা এইচটিএমএল (লেবেল ছাড়াই)
<div class="tab-pane active" id="attrib-params">
<div class="control-group ">
<div class="controls">
<input
type="text"
value=""
id="jform_params_content_myfield"
name="jform[params][content_myfield]"
class=""
aria-invalid="false"
>
</div>
</div>
</div>