2016-06-13 2 views
0

(안녕하세요) 여러분!컨트롤러에서 모델로 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 개월 선택하면 다음

는 모델 : I 시도

<?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); 

모델 파일을 파일 (당신을 가정 모델을 사용 중입니다 - 카탈로그/모델/카탈로그/product.php

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

희망이 도움이됩니다.

+0

고맙습니다. :) 끝났다! :) – tweb

관련 문제