3

我想在我的模块中呈现 Joomla 内容插件,该怎么做?

这是我的代码

<pre>

<?php
defined( '_JEXEC' ) or die;

$db = JFactory::getDBO();   
$query = $db->getQuery(true);  
$query->select('stendas_id, stendas_lat, stendas_lon, stendas_name, stendas_description, stendas_kaire, stendas_desine')
        ->from('#__stendukai_stendai')
        ->where('published = 1');  
$db->setQuery($query);

$rows = $db->loadObjectList();

require JModuleHelper::getLayoutPath('mod_stendulist', $params->get('layout', 'default'));

</pre>

这是default.php文件代码

<pre>
<?php
defined( '_JEXEC' ) or die;

$document = JFactory::getDocument();

$document->addStyleSheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-lightness/jquery-ui.css');     
$document->addScript("http://maps.google.com/maps/api/js?sensor=false&language=en");  
$document->addScript(JURI::base() . 'modules/mod_stendulist/libs/jquery.min.js');
$document->addScript(JURI::base() . 'modules/mod_stendulist/libs/jquery-noconflict.js');
$document->addScript('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js');  
$document->addScript(JURI::base() . 'modules/mod_stendulist/libs/jquery.ui.map.js');
$document->addScript(JURI::base() . 'modules/mod_stendulist/libs/frontend_map.js');
$document->addScript(JURI::base() . 'modules/mod_stendulist/libs/jquery.ui.map.services.js');
$document->addScript(JURI::base() . 'modules/mod_stendulist/libs/jquery.ui.map.extensions.js');

?>

<div id="themapstuff">
    <table class="stendu_table" border="0" cellpadding="0" cellspacing="0" height="151" width="406">
       <tbody>
         <tr><th width="33">Nr.</th><th width="115">Stendai</th><th width="74">Kairė</th><th width="74">Dešinė</th></tr>
    <?php $i=1; ?>


         <?php foreach ($rows as $row): ?>
         <tr data-gmapping='{"id":" <?php echo $row->stendas_id ?>","latlng":{"lat": <?php echo $row->stendas_lat ?>,"lng": <?php echo $row->stendas_lon ?>},"tags":" <?php echo $row->stendas_name ?>"}'>
            <td><?php echo $i++ ?></td>
            <td> <span class="title"><?php echo $row->stendas_name ?></span> 
               <div class="info-box">
                  <?php echo $row->stendas_description;?>
               </div>
            </td>
            <td><?php echo $row->stendas_kaire ?></td>
            <td><?php echo $row->stendas_desine ?></td>

         </tr>
         <?php endforeach ?>
       </tbody>
    </table>      
</div> 
</pre>

如果可能的话,我最感兴趣的是在其中运行内容插件

$row->stendas_description

因为这是实际内容,其他人是 id 和别名。

4

2 回答 2

2

如果将 Prepare Content 参数设置为 true,则自定义 html 模块会呈现插件。

JPluginHelper::importPlugin('content');

$module->content = JHtml::_('content.prepare', $module->content, '', 'mod_custom.content');

https://github.com/joomla/joomla-cms/blob/master/modules/mod_custom/mod_custom.php#L14

于 2012-11-11T11:50:34.113 回答
0

我从未测试过这个扩展,但它可能是你正在寻找的。

http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/embed-a-include/6713

尽管它只显示 Joomla 1.5 图标,但它也与 Joomla 1.7 兼容,因此也与 2.5 兼容。此扩展允许在模块中执行插件。

希望这可以帮助。

于 2012-11-09T14:43:13.633 回答