فعال کردن پلاگین های جوملا در محیط ماژول
- دسته: عمومی
- آخرین به روز رسانی دوشنبه, 15 خرداد 1396 17:07
- نوشته شده توسط مصطفی نوروزی
- بازدید: 4975
همانطور که می دانید یکی از انواع ماژول ها در سیستم مدیریت محتوای جوملا، نوع سفارشی یا همان Custom HTML می باشد. در این حالت فضایی برای تایپ و قراردادن کدهای html وجود دارد. اما یکی از مشکلاتی که ممکن است برخی از طراحان با آن برخورد کنند این است که در این حالت، اگر شما بخواهید از یک پلاگین در این بخش استفاده کنید، پلاگین فراخوانی نخواهد شد.
بعنوان مثال فرض کنید از پلاگینی استفاده می کنید که برای فراخوانی آن باید به شکل زیر عمل شود :
<gallery>images/album </gallery>
</p>
حال اگر این متن را در ماژول قرار داده و ماژول را فعال کنید، خواهید دید که عبارت زیر نمایش داده می شود (و نه خروجی پلاگین) :
<gallery>images/album </gallery>
در واقع زمانی که ماژول، بارگزاری (Load) می شود پلاگین فعال نمی شود تا با دیدن تگ <gallery> پردازش صورت گیرد.
راه حل 1 :
به صفحه مدیریت ماژول سفارشی (Custom HTML) بروید و مطابق تصویر گزینه Prepare Content را فعال کنید
راه حل 2 :
1) به پوشه قالب خود بروید. فایل module.php را پیدا کنید (احتمالا در پوشه html می باشد) آن را باز کنید.
2) عبارت زیر را پیدا کنید :
3) و با دستورات زیر جایگزین کنید :
$dispatcher = &JDispatcher::getInstance();
JPluginHelper::importPlugin('content');
$row->text = $module->content;
$results = $dispatcher->trigger('onPrepareContent', array(&$row, &$params, 0));
echo $row->text;
?>