0

私のk2ページでは、上部の領域で完全なモジュールが必要でしたが、ページは選択されたDBから動的に取得されるため、モジュールの割り当てはできません。そこで、「loadmodule」のようなモジュールをインストールしました。違いは単純で、特定の ID を持つモジュールを取得できます。

例: {loadmodulefromarticle|97}追加のフィールドまたはコンテンツ領域で使用すると機能しますが、記載されているように、ページの上部領域に必要なので、if リクエストを使用して k2 コンテンツを読み込んでみます頂上で。私はコンテンツを取得し、それは大丈夫です。しかし、ここにはプレーンテキストしか表示されず、モジュールはロードされていません。私の質問は、モジュールをロードするためにここに何を挿入すればよいですか? $result;に近いものになると思います。

<?php
    $menuID = JSite::getMenu()->getActive()->id ;

    if ($menuID == '713') {

        $db = JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('introtext');
        $query->from('#__k2_items');
        $query->where('id = ' . JRequest::getInt('id'));
        $db->setQuery($query);
        $result = $db->loadResult();
?>
                <div id="gkHeaderMod">
                    <div><?php echo $result; ?></div>
                </div>
<?php
}
?>
4

1 に答える 1

0

次のようなことができます。Joomla コーディング標準を使用して、メニュー ID を取得しrenderModule、モジュールを表示します。

<?php
  $app   = JFactory::getApplication();
  $menuID   = $app->getMenu()->getActive()->id;

  if ( $menuID == '713' ) {
        $db = JFactory::getDbo();
        $query = $db->getQuery(true)
         ->select('introtext')
         ->from('#__k2_items')
         ->where('id = ' . JRequest::getInt('id'));
        $db->setQuery($query);
        $result = $db->loadResult();

        echo '<div id="gkHeaderMod">';
        $module = JModuleHelper::getModule( 'mod_example', 'Module Title' );
        echo JModuleHelper::renderModule( $module );
        echo '</div>';
  }   
?>

mod_exampleModule Titleを必要なものに変更する必要があることに注意してください

于 2013-10-22T21:42:25.613 に答える