ストアのすべての(フロントエンド)ページにアクセスできるOpenCartモジュールを作成する方法はありますか? 私が望むのは、すべてのページに存在するために、このモジュールをすべてのレイアウトに「バインド」する必要がないことです。 基本的には、アプリケーションのすべてのページにいくつかのjsコードを注入するモジュールを作成し、バックエンドのいくつかのOpenCartフックに応じて、バックエンドのいくつかの追加のjsコードまたはバックエンドのいくつかのapiリクエストを実行します。 ありがとうopencartモジュールのすべてのフロントエンドページにアクセスするにはどうすればよいですか?
答えて
モジュールがストアのすべての(フロントエンド)ページにアクセスできるようにすることで、正確にはわかりません。モジュールはレイアウトに配置する必要があり、レイアウトは複数のページに割り当てることができます。
各レイアウトには、指定できる領域(およびカスタマイズ可能な領域)に特別に割り当てられた要素を含めることができます。たとえば、共通ヘッダーにモジュール用の特別な場所を作成することができます。コントローラ、言語、およびビューファイルを自分の指定したフォルダに作成するだけです(私の例では、共通フォルダを使用します)。これらのファイルを "loadjs"と呼ぶことにします。
これらはcommon/header.php
と.tpl
のファイルの後にパターンします。それに合わせて、コントローラファイル内のクラス名とファイル名を必ず変更してください。したがって、クラスを含むコントローラフォルダの共通ディレクトリにloadjs.php
ファイルを作成し、language/(your language)/common
フォルダにloadjs.php
ファイル、view/theme/(your theme name)/template/common
フォルダにloadjs.tpl
ファイルを作成します。
ファイルに$data['loadjs'] = $this->load->controller('common/loadjs');
を追加し、view/theme/(your theme name)/template/common/header.tpl
ファイルに<?php echo $loadjs; ?>
を追加してください。これで、モジュールを作成できます。
ただし、レイアウトに追加するには、いくつかの管理ファイルを変更する必要があります。 Add $_['text_loadjs'] = 'Loadjs';
をadmin/language/(your language)/design/layout.php
に、$data['text_loadjs'] = $this->language->get('text_loadjs');
をadmin/controller/design/layout.php
にそれぞれ設定してください。
admin/view/template/design/layout_form.tpl
ファイルにも変更を加える必要があります。次のコードを探します:
<option value="content_top" selected="selected"><?php echo $text_content_top; ?></option>
<?php } else { ?>
<option value="content_top"><?php echo $text_content_top; ?></option>
<?php } ?>
<?php if ($layout_module['position'] == 'content_bottom') { ?>
<option value="content_bottom" selected="selected"><?php echo $text_content_bottom; ?></option>
<?php } else { ?>
<option value="content_bottom"><?php echo $text_content_bottom; ?></option>
<?php } ?>
、ちょうどその下に次のコードを追加します。今
<?php if ($layout_module['position'] == 'loadjs') { ?>
<option value="loadjs" selected="selected"><?php echo $text_loadjs; ?></option>
<?php } else { ?>
<option value="loadjs"><?php echo $text_loadjs; ?></option>
<?php } ?>
を、あなたのOpenCartダッシュボードにログインし、レイアウト上のloadjs位置にあなたのモジュールを追加します。そして、それはそれを行う必要があります。
あなたのコメントをいただきありがとうございます。私が望むのは、テーマに関係なく、ユーザーがファイルを編集することなく、ヘッダーにjavascriptを追加することです。それは可能ですか? – paptom
これでモジュールを追加する必要はありません。私はあなたの元のリクエストから、サイトの「すべての」フロントエンドページにアクセスすることを前提としています。各ページに同じjavascriptを入れたいと思っています。もしあなたが望むだけで、あなたのすべてのページが同じビュー/テーマ/(テーマ名またはデフォルト)/template/common/header.tplファイルを共有しているなら、ヘッダに直接javascriptを追加するだけです少なくともこれはもっとも単純で直接的な方法です)。他の方法もありますが、それらはますます複雑になります。 – JasonF
デフォルトのheader.tplファイルを使用している場合は、選択したテーマに関係なく、javascriptを1回追加するだけで済みます。各テーマでカスタマイズされたheader.tplファイルを使用する場合は、各テーマheader.tplファイルにjavascriptを追加する必要があります。 – JasonF
- 1. vb.netでは、ユーザーコントロール内からモジュールのパブリック関数にアクセスするにはどうすればよいですか?
- 2. PythonのgdataモジュールですべてのYouTubeコメントを取得するにはどうすればよいですか?
- 3. phpfoxでクイズモジュールのすべての回答にアクセスするにはどうすればよいですか?
- 4. revit APIを使用してすべてのファミリタイプにアクセスするにはどうすればよいですか?
- 5. すべてのサブディレクトリをgradleモジュールとして含めるにはどうすればよいですか?
- 6. Rubyのインスタンスメソッドからモジュールにアクセスするにはどうすればよいですか?
- 7. すべてのアクセスをCUDAのグローバルメモリに向けるにはどうすればよいですか?
- 8. グローバルなUnityContainerを作成し、すべてのViewModelにアクセスするにはどうすればよいですか?
- 9. すべてのプロセスがアクセスできるマップを作成するにはどうすればよいですか?
- 10. React from another moduleでモジュールのメソッドにアクセスするにはどうすればよいですか?
- 11. 別の機能モジュールでサービスにアクセスするにはどうすればよいですか?
- 12. 同じモジュールのクラス間でクラスインスタンス変数にアクセスするにはどうすればよいですか?
- 13. Powershellモジュール内の変数を、そのモジュール内の他の関数からアクセスできるようにするにはどうすればよいですか?
- 14. 特定の日時にmsアクセスvbaモジュールを実行するにはどうすればよいですか?
- 15. 現在のすべてのスタックフレームのf_globals属性にアクセスするにはどうすればいいですか
- 16. web_multi_image_zoomモジュールで画像を伸ばさないようにするにはどうすればよいですか?
- 17. ウェブ上のコピーバッファにアクセスするにはどうすればよいですか?
- 18. モバイルへのユーザコールにアクセスするにはどうすればよいですか?
- 19. サービス内のデータベースにアクセスするにはどうすればよいですか?
- 20. Djangoフォームフィールドのデータにアクセスするにはどうすればよいですか?
- 21. MacBookのウェブカメラにアクセスするにはどうすればよいですか?
- 22. iPhone 4のUDIDにアクセスするにはどうすればよいですか?
- 23. DbContextクラスのコンフィグレーションにアクセスするにはどうすればよいですか?
- 24. iOSのカスタムキーボード:UITextFieldにアクセスするにはどうすればよいですか?
- 25. WiFiManagerフレームワークのiOSにアクセスするにはどうすればよいですか?
- 26. マルチレベルオブジェクトの配列にアクセスするにはどうすればよいですか?
- 27. 別のエンジンモデルにアクセスするにはどうすればよいですか?
- 28. 自分のパブリックメソッドにアクセスするにはどうすればよいですか?
- 29. コントローラのエイリアス値にアクセスするにはどうすればよいですか?
- 30. Messengerプラットフォームのアプリダッシュボードにアクセスするにはどうすればよいですか?
vQmodまたはocmodを使用してフッターまたはヘッダーを修正しようとしましたか? – DigitCart