فعال کردن پلاگین های جوملا در محیط ماژول

5
1 1 1 1 1
رتبه 5.00 (1 رای)

همانطور که می دانید یکی از انواع ماژول ها در سیستم مدیریت محتوای جوملا، نوع سفارشی یا همان Custom HTML می باشد. در این حالت فضایی برای تایپ و قراردادن کدهای html وجود دارد. اما یکی از مشکلاتی که ممکن است برخی از طراحان با آن برخورد کنند این است که در این حالت، اگر شما بخواهید از یک پلاگین در این بخش استفاده کنید، پلاگین فراخوانی نخواهد شد.

بعنوان مثال فرض کنید از پلاگینی استفاده می کنید که برای فراخوانی آن باید به شکل زیر عمل شود :

<p>
<gallery>images/album </gallery>
</p>

6.custom.module

حال اگر این متن را در ماژول قرار داده و ماژول را فعال کنید، خواهید دید که عبارت زیر نمایش داده می شود (و نه خروجی پلاگین) :
<gallery>images/album </gallery>

در واقع زمانی که ماژول، بارگزاری (Load) می شود پلاگین فعال نمی شود تا با دیدن تگ <gallery> پردازش صورت گیرد.

 

راه حل 1 :

به صفحه مدیریت ماژول سفارشی (Custom HTML) بروید و مطابق تصویر گزینه Prepare Content را فعال کنید

18 custom

راه حل 2 :


1) به پوشه قالب خود بروید. فایل module.php را پیدا کنید (احتمالا در پوشه html می باشد) آن را باز کنید.

2) عبارت زیر را پیدا کنید : 

<?php $module->content; ?>

3) و با دستورات زیر جایگزین کنید :

<?php
$dispatcher = &JDispatcher::getInstance();
JPluginHelper::importPlugin('content');
$row->text = $module->content;
$results = $dispatcher->trigger('onPrepareContent', array(&$row, &$params, 0));
echo $row->text;
?>
توجه داشته باشید این تغییر به موارد مشابه نظیر فعال کردن پلاگین پخش ویدئو در ماژول custom html نیز کمک می کند
 
این آموزش برای نسخه 3 و  2.5 جوملا نوشته شده است.