2016-06-13 161 views
0

(hi)everyone!Opencart將變量從控制器傳遞給模型

我使用的是OpenCart v.2.2。

首先,我嘗試開發PHP事件日曆,

所以,我的問題是,我如何將數據變量從控制器傳遞到在SQL查詢中設置此變量的模型?

我會顯示一段代碼。

型號:

<?php 
$year = ''; 
$month = ''; 
$dateYear = ($year != '') ? $year : date("Y"); 
$dateMonth = ($month != '') ? $month : date("m"); 
... 
$result = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE event_start = '" . $currentDate . "' AND status = 1"); 
$event_num = $result->num_rows; 

?> 

所以,當我從下拉菜單中的任何一個月或一年選擇

<select name="month_dropdown" class="month_dropdown dropdown"><?php echo $get_months; ?></select> 
<select name="year_dropdown" class="year_dropdown dropdown"><?php echo $get_years; ?></select> 

我只是想選擇的月份和/或一年,然後傳遞給控制器​​中的值。之後,數據應傳遞給模型以設置選定的月份。如果我選擇第10個月再

型號:

<?php 
$month = '10'; 
?> 

我試圖傳遞變量硬編碼,但沒有結果模型:(

控制器:

<?php 
$data['month'] = '10'; 
$data['year'] = '2017'; 
?> 

型號:

<?php 
if (isset($data['month'])) { 
    $month = $data['month']; 
} 
if (isset($data['year'])) { 
    $year= $data['year']; 
} 
?> 

但我得到通知如下:

Notice: Undefined variable: data in C:\xampp\htdocs\events\catalog\model\event_calendar\event.php on line 11 

但是,當我硬編碼模型$月=「10」我得到的所有成功的天,這個月。

預先感謝所有答覆:)

回答

1

嘗試以下:

視圖(.tpl文件)

<select name="month_dropdown"><?php echo $your_varialbe; ?></select> 

控制器的文件

if(isset($this->request->post['month_dropdown'])) { 
$month_dropdown = $this->request->post['month_dropdown']; 
} else { 
$month_dropdown = 0; 
} 
$info = $this->model_catalog_product->your_method_name($month_dropdown); 

模型文件(假設你正在使用型號 - catalog/model/catalog/product.php)

public function your_method_name($your_method_name) { 
//use $your_method_name here 
} 

希望這對你有所幫助。

+0

非常感謝! :) 完成! :) – tweb

相關問題