0

opencart オープン ソース e コマース Web サイトを使用しています。私が抱えている主な問題は、ブレッドクラムを各 .tpl ファイル内に含める単一のファイルに分割しようとするときです。これは機能しませんが、基本的な PHP インクルード メソッドを使用してみました。

ジェイの答えへの返信で:

個別のブレッドクラム テンプレート ファイルをレンダリングする新しいブレッドクラム コントローラーを作成しました。

<?php
class ControllerCommonBreadcrumb extends Controller {

    public function index() {


        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/breadcrumbs.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/common/breadcrumbs.tpl';
        } else {
            $this->template = 'default/template/common/breadcrumbs.tpl';
        }

        $this->render();
    }
}
?>

これによりエラーが発生しますが:

Notice: Undefined variable: breadcrumbs
4

1 に答える 1

1

これを行うには、最初に$ this-> childrenを使用してコントローラーアクションの子としてブレッドクラムテンプレートを設定し、次にそれを使用してブレッドクラムをエコーアウトする必要があります。テンプレートに何をエコーするかがわかるように、ブレッドクラムコントローラーのIDも設定する必要があります。

個人的には、代わりにcommon / header.tplファイルにブレッドクラムを追加するだけで、はるかに簡単です。

于 2011-10-18T12:42:15.077 に答える