2012-04-24 9 views
0

私は1日にデータを送信するために送られたデータの配列を持つページ上にCIカレンダーを表示していますが、それは問題ありません。私の頭を包み込むことはできません。Codeigniterカレンダーに変数を追加するnext/prev links

私はCIを約3日間(OOPベースのPHPで5日間!)しか知りませんでしたので、これが信じられないほど単純なものなら、私を許してください。

私のカレンダーの次の/前のリンクに変数($ pid)を取得する必要があります。 $ pidは、DBから取得するプロパティを定義し、選択した月のプロパティレートを表示します。私の「MY_Calendar.php」ファイルで

、私は次のようしている:/ 1 /がURLである

var $CI; 
var $lang; 
var $local_time; 
var $template  = ''; 
var $start_day  = 'sunday'; 
var $month_type  = 'long'; 
var $day_type  = 'abr'; 
var $show_next_prev = TRUE; 
var $next_prev_url = '/ci/index.php/rates/property/1/'; 

、私は$ pidのページであるものは何でもそれはに変更する必要があることカレンダーはオンです。

どのようにしてこの変数をクラスファイルに入れることができますか?

URLの変数を取得するのは簡単なPHP連結であると仮定しています。

"$ this-> load-> library( 'calendar'、$ prefs);で設定を呼び出そうとしましたが、

しかし好みは任意のアイデア

(私は同じページに$のprefsという名前の配列を持っていた)から来ていないようでしたか? :)

+0

なぜ$ CIスーパーオブジェクトを使用していますか? Codeigniterビューで作業していますか、モデルから呼び出すのですか? – Patroklo

+0

これは、当初はcalendar.phpファイルにあったもので、これをMY_calendar.phpに入れました。私はコントローラにライブラリをロードして、結果をビューに出力します。これは私がこれをやるべきであるか? – spilla

答えて

0

すでにCI_Calendarクラスを拡張している場合は、単に新しいクラスのプロパティを追加します。

var $pid = 1; 

あなたが設定配列を渡すと、あなたは親のコンストラクタを呼び出している場合は、それができるようにすべきですあなたは/ $pid変数を渡す/設定する。

それから明らかにその値を$next_prev_urlから削除してください。

最後に、$next_prev_urlに正しい$pidを連結する次/前ボタンを出力する関数をオーバーライドします。 $pidを現在のページに設定する必要があります。前と後の+1は、最小ページ数と最大ページ数を確認し、終了時にリンクが表示されないようにします。

+0

これはあなたに見えますか? $ this-> load-> library( 'calendar'、$ prefs); $ [[cal]] = $ this-> calendar-> generate($年、$月、$データ['combined_array']、$ prefs); $ prefs配列をロードするようではなく、MY_calendar.phpファイルのデフォルト設定を読み込むだけです – spilla

関連する問題