我想在我的模块中渲染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和别名。
答案 0 :(得分: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
答案 1 :(得分:0)
我从未测试过此扩展程序,但它可能正是您正在寻找的内容。
即使它只显示Joomla 1.5图标,它也与Joomla 1.7兼容,因此也与2.5兼容。此扩展允许在模块中执行插件。
希望这有帮助。