2016-07-15 5 views
0

私はjoomla 3モジュールを持っています。それは素晴らしい作品です。私はtmpl->default.phpファイルで使用できる管理セクションにパラメータを追加したいが、それを行う方法を見つけるのは難しい。joomlaのリストからparamsを取得しようとしています

私は私のXMLファイルを持っている:

<config> 
    <fields name="params"> 
     <fieldset name="basic"> 
      <field 
      name="show_category" 
      type="list" 
      label="What to display" 
      description="What to display" 
      default=""> 
       <option value="0">Day/Time/Event</option> 
       <option value="1">Day/Time/Event/Description</option> 
      </field> 
     </fieldset> 
    </fields> 
</config> 

、その後、私のdefault.phpファイルに:

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

    $module = JModuleHelper::getModule('mod_calendar_ajax_google'); 
    $moduleParams = new JRegistry(); 
    $moduleParams->loadString($module->params); 
    $param = $moduleParams->get('show_category', ''); 

    $dashboardID = $param['show_category']; 

が、ある動作しません。他

答えて

0

このようなかなりdefault.phpファイルに直接のparamsを呼び出すことではない、あなたのmod_calendar_ajax_google.phpファイル内のparamsを呼び出すことができますより良い

$category = $params->get('show_category','Day/Time/Event'); 

それはあなたのオプションに設定されている場合、これは名前を与えるだろう、それはデフォルト値はDay/Time/Eventです。

default.phpファイルで呼び出すには、$ categoryを直接呼び出すことができます。私は自分自身を明確にしたいと思っています。

joomlaのどこからでもparamを直接呼び出す必要がある場合は、最後の行を削除する必要があります。 あなたはモジュール "mod_calendar_ajax_google" を持っている:これだけ

$module = JModuleHelper::getModule('mod_calendar_ajax_google'); 
$moduleParams = new JRegistry(); 
$moduleParams->loadString($module->params); 
$dashboardID = $moduleParams->get('show_category', ''); 
0

例でなければなりません。

-mod_calendar_ajax_google.xml

-mod_calendar_ajax_google.php

-helper.php

-tmpl(フォルダ)

--default.php

:その後、次のファイル構造を必要とします

コードmod_calendar_ajax_google.php

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

require_once dirname(__FILE__).'/helper.php'; 
$data = modCalendarAjaxGoogleHelper::getData($params); 

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

コードhelper.php

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

class modCalendarAjaxGoogleHelper { 

    public static function getData(&$params) { 

     $data = $params->get('show_category'); 

     return $data; 
    } 
} 

コードdefault.php

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

print_r ($data); // <-- YOUR PARAMS 
関連する問題