bestboy7

نحوه تغییر پارامترهای یک ماژول از طریق ماژولی دیگر

5 پست در این موضوع

سلام دوستان

من میخوام افزونه ای بنویسم که از درون اون بتونم پارامترهای یک ماژول دیگه رو تغییر بدم. کسی میدونه چه کدی نیاز داره؟

سرچ کردم توی سایتهای خارجی اما نتیجه ای نگرفتم فقط چند تا کد دیدم که مبهم بود و کار نکرد

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش html و css آموزش لاراول آموزش cPanel آموزش php آموزش سئو وردپرس آموزش امنیت وردپرس آموزش وردپرس آموزش فرم ساز RSform آموزش سئو جوملا آموزش فروشگاه ساز Hikashop آموزش فروشگاه ساز ویرچومارت آموزش طراحی سایت آگهی تبلیغاتی آموزش امنیت جوملا آموزش طراحی سایت فروش فایل آموزش طراحی قالب ریسپانسیو با Helix آموزش جوملا 3 آموزش ساخت ربات دکمه ی شیشه ای آموزش ساخت ربات همکاری در فروش آموزش ساخت ربات جذب ممبر آموزش ساخت ربات ضد اسپم آموزش ساخت ربات پیوست فایل سورس ربات مدیر گروه | ربات مدیر گروه همسریابی

از دوستان برنامه نویس و افزونه نویس کسی نبود راهنمایی کنه؟

Share this post


Link to post
Share on other sites

ابتدا باید بتونید پارامترهای ماژول رو بخونید. کلیه کدهایی که نیاز هست رو میزارم .. از خواندن پارامترهای پلاگین تا قالب و...

[b]
خواندن پارامترهای پلاگین جاری از داخل پلاگین[/b]

$param = $this->params->get('paramName', 'defaultValue');

[b]خواندن پارامترهای پلاگین دیگری از داخل پلاگین خودتان[/b]


$plugin = &JPluginHelper::getPlugin('exampleType', 'example'); $pluginParams = new JParameter($plugin->params); $param = $pluginParams->get('paramName', 'defaultValue'); 

[b]خواندن پارامترهای ماژول جاری از داخل ماژول[/b]


$param = $params->get('paramName', 'defaultValue'); [b]

خواندن پارامترهای ماژول دیگری از داخل ماژول خودتان[/b]


$module = &JModuleHelper::getModule('example'); $moduleParams = new JParameter($module->params); $param = $moduleParams->get('paramName', 'defaultValue'); 

[b]خواندن پارامترهای کامپوننت جاری از داخل کامپوننت[/b]


$componentParams = &JComponentHelper::getParams('com_example'); $param = $componentParams->get('paramName', 'defaultValue');

[b]خواندن پارامترهای کامپوننت دیگری از داخل کامپوننت خودتان[/b]


$componentParams = &JComponentHelper::getParams('com_example'); $param = $componentParams->get('paramName', 'defaultValue'); 

[b]خواندن پارامترهای قالب جاری از داخل قالب[/b]


$param = $this->params->get('paramName'); [b]

خواندن پارامترهای قالب دیگری از داخل قالب خودتان[/b]


jimport('joomla.filesystem.file'); $mainframe = &JFactory::getApplication(); $params = $mainframe->getParams(JFile::read(JURI::root() .'/templates/template_name/params.ini')); $param = $params->get('paramName', 'defaultValue');

وقتی پارمترهای ماژول دیگه ای رو در ماژول خودتون تونستید بخونید راه حل تغییر هم ساده است!! کافی تغییر رو داخل یک variable بریزید و بعد داخل دیتابیس و در جدول مربوط به همان ماژول در فیلد params آپدیت کنید!!

Share this post


Link to post
Share on other sites

مرسی جناب طالبی از پاسختون

راسش از طریق دیتابیس مشکلی نداشتم. من تصور میکردم شاید راهی یا تابعی مستقل و از توابع هسته جوملا باشه واسه این کار. با سرچ هایی که کردم یه چیزایی پیدا کردم اما سردر نیاوردم

$module->setParam("param_name","value")

پس تنها راهش همون تغییرات مستقیم دیتابیسه آره؟

Share this post


Link to post
Share on other sites

چیزی که شما پیدا کردید مربوط به یک افزونه جانبی است که میتونه روی سایر ماژولها کنترل های خاص ایجاد کنه که لینک سازنده اش اینه:

http://www.metamodpro.com/metamod/metamod

در خصوص تغییر پارامترها راه حل تغییر مستقیم دیتابیس هست .. البته یه نگاهی هم به کامپوننت administrator\components\com_modules بندازید چون این کامپوننت کنترل ماژولها رو دست خودش میگیره و مترهای تغییر پارامترهای ماژول در اون هست ولی به نظرم راه حل پیچیده ای باشه و استفاده از راه حل اول بهتره برای شما ..

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری