2017-03-11 10 views
-2

注意:/ home /以外のオブジェクトのプロパティを取得しようとしています.................. ..../modules/webox/webox.php on line 354Prestashop 1.6.1.11 Weboxモジュールで非オブジェクトのプロパティを取得しようとしています

注意:/ home /以外のオブジェクトのプロパティを取得しようとしています................. ....../webox/webox.php on line 393

警告:/ home/... /内のforeach()に無効な引数が指定されています。 ....../webox/webox.php線上393


コード:346から414

346クラスWeboxClass {

347 public $ total_count = 0;

public $json; 
public function __construct($json = "") { 
    if(strlen($json) == 0){ 
     $json = $this->downloadAutomatakAndReturn(); 
    } 
    $this->json = json_decode($json); 

354の$ this - > TOTAL_COUNT =の$ this - > json-> TOTAL_COUNT;}

public function downloadAutomatakAndReturn(){ 
    $tmp_dir = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : (is_callable('sys_get_temp_dir') ? sys_get_temp_dir() : ''); 

    if (!is_file($tmp_dir.'/validboltlista.json') || filemtime($tmp_dir.'/validboltlista.json')+86400<time()) { 
     $jsonData=file_get_contents('https://api-hu.easypack24.net/v4/machines?type=0'); 
     file_put_contents($tmp_dir.'/validboltlista.json', $jsonData, LOCK_EX); 
}else{ 
     $jsonData=file_get_contents($tmp_dir.'/validboltlista.json'); 
    } 
    return $jsonData; 
} 

function getAllAutomataAsOptions($selectedAutomata){ 
    $result = ""; 
    $automatak = array(); 
    foreach($this->getAutomatakByTelepules("") as $automata){ 
     /* @var $automata WeboxItem */ 
     $cim = $automata->getAddress_city() . " " . $automata->getAddress_post_code() . ", " . $automata->getAddress_street() . " " . $automata->getAddress_building_no(); 
     $automatak[$automata->getId()] = array(
      'text' => $cim . " (" . $automata->getId() . ")", 
      'id' => $automata->getId(), 
      'map' => $automata->getMinimap(), 
      'info' => $automata->getLocation_description() 
     ); 
    } 
    sort($automatak); 
    foreach($automatak as $s){ 
     $selected = (strlen($selectedAutomata) > 1 && $s['id'] == $selectedAutomata ? "selected='selected'" : ""); 
     $result .= "<option value='".$s['id']."' data-map='".$s['map']."' data-info='".$s['info']."' ".$selected.">".$s['text']."</option>\n"; 
    } 
    return $result; 

} 

function getAutomatakByTelepules($telepules){ 
    $result = array(); 

393のforeach(の$ this - > JSON - > _埋設 - > $ IDとして機械=> $ JSON){

 if($json->address->city == $telepules || strlen($telepules) == 0){ 
      $result[$id] = new WeboxItem($json); 
     } 
    } 
    return $result; 
} 

function getAutomataByID($id){ 
    foreach($this->json->_embedded->machines as $id => $json){ 
     if($json->id == $id){ 
      return @new WeboxItem($json); 
     } 
    } 
    return null; 
} 

function getTotalCount() { 
    return $this->total_count; 
} 

}

+1

質問がありますか? – Steve

+0

申し訳ありませんが、私は質問があります:解決策は何ですか?ウェブページのフロントデバッブ通知:注意:/home/****/modules/webox/webox.phpの非オブジェクトのプロパティを取得しようとしています。 on line 354 注意:/home/****/web/webox.phpの非オブジェクトのプロパティをオンラインで取得しようとしています393 警告:393行目の/home/ja/web/webox.phpのforeach()に無効な引数が指定されています。 – Endrus

答えて

0

コードが正しいです。

問題はサーバーにあります。私はprestashopを別のサーバにインストールし、weboxプラグインをインストールしました。働いている。

しかし、問題はphp.iniファイルとhtaccessファイルではありません。あるサーバーから別のサーバーにすべてのファイルをコピーしましたが、問題は解決しませんでした。

Summ:コードは正しいです。

関連する問題