2017-07-28 2 views
0

私は顧客用の画像を生成するためのカスタムスクリプトを用意しています。OpenCart:カスタムコントローラクラスを作成する

私は、スクリプトを使用できるようにする必要があるので、私は、このスクリプトは、コントローラの一部である必要があります。

if (!$this->customer->isLogged()) { 
     $this->session->data['redirect'] = $this->url->link('account/download', '', true); 

     $this->response->redirect($this->url->link('account/login', '', true)); 
    } 

顧客がログインしているかどうか確認するためにはそれ以外の場合は、誰もがこのリンクにアクセスすることができます。ログアウトしても、私の店にとっては非常に危険です。私のカスタムスクリプトで

、私は含まれています:

<?php 
require_once('system/engine/controller.php'); 
class ControllerTestAbc extends Controller{ 
    public function index() 
    { 
      echo 'Hello World'; 
      exit; 
    } 
} 
?> 

私はちょうど、ページが実行されますかどうかを確認するためのHello Worldをエコーし​​ています。ただし、ページは空白です。

注:私はのようにHREFを使用して、このスクリプトにアクセスしようとしています:

$viewimg ="<a target='_blank' href='view_code.php?id=".$id."&showDate=".$showDate." 'class='cat_links'>".$showName."<font size='-1'></a>"; 

なぜページが空白のですか?私はコントローラエンジンへのパスを含んでいますが、関数index()は実行されません。

答えて

0

なぜページが空白ですか?

あなたは500エラーが発生しています。ログファイルを確認してください。

PHPがログ記録する場所がわからない場合は、スクリプトの一番上にphpinfo();exit;を追加すると、使用中のエラーログが表示されます。

また、あなたが、画面へのロギングをオンに一時的に試みることができる:あなたがcontrollerディレクトリ内にカスタムスクリプトを配置する必要があり ini_set('display_errors',1);error_reporting E_ALL;

-1

あなたは ControllerViewCode ControllerAccountViewCodeとしてクラスを指定する必要があり、スクリプトがcatalog/controller/account/view_code.phpであると言うことができます。

編集:私は間違っていました。コメントは@ Abdullah-Al-Shakibによると、ControllerViewCodeではなく、クラス名はControllerAccountViewCodeである必要があります。

+0

私はそれを行いましたが、それはまだ動作しません。 routeの正確なURLアドレスを取ってroute = account/view_code.phpをブラウザに置くと、ページは正常に読み込まれますが、hrefを使用すると正常に動作しません。 – arsenalftw067

+0

@bogalakonあなたはworngですが、クラス名はControllerAccountViewCode –

+0

です。コードはまだ動作しません。それでもクラスコントローラは見つかりません。 しかし、ブラウザに直接ルートを置くと、ページは正常に動作します。しかし、そのページへのリンクを作成するためにhrefを使用すると、クラスが見つかりません – arsenalftw067

関連する問題