正直に言うとかなり簡単です。フォルダーとファイル名に基づいて名前を付けて、ファイル用のコントローラーを作成する必要があります。例えばcommon/home.php
これはindex.php?route=common/home
を使用してアクセスされる
Class ControllerCommonHome extends Controller
を有しindex()
方法にアクセスします。あなたが別のメソッドを呼び出したい場合は、インスタンスfooのために、あなたは
public function foo() {
// Code here
}
ような方法を定義する必要があるだろうとのindex.phpを使用してそれを呼ぶだろう?ルート=共通の/ home/fooという
レンダリングについてビュー、それは少しトリッキーです。基本的には、そのファイルが存在しない場合は/catalog/view/theme/your-theme-name/template/common/new_template_file.tpl
、それはdefault
テーマフォルダ
で同じパスを使用しようとするレンダリングされますあなたのコントローラメソッド
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/new_template_file.tpl')) {
$this->template = $this->config->get('config_template') . '/template/common/new_template_file.tpl';
} else {
$this->template = 'default/template/common/new_template_file.tpl';
}
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);
$this->response->setOutput($this->render());
の終わりに、このすべてを追加する必要があります
私は、いくつかのコントローラーとテンプレートを見て、すべてが適切なところから来るように頭を浮かべることをお勧めしますが、それはどのように動作するかの基本的要点です
ここに何か不足している可能性がありますが、わからないことがあります。標準ファイルにはこの構造がありますが、新しい拡張機能や登録が必要な場所がありますか? –
完全に新しいページを作成している場合、登録する必要はありません。それらがモジュールである場合、基本原則は同じですが、モジュールは管理者にインストールする必要があり、それらの位置などで有効に設定されています –