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 に答える