0

私はcodeigniterの初心者です。すべてのページにjqueryをロードしたい。autoload.phpを使用する必要があることはわかっています。しかし、その中には、jsやcssなどの静的コンテンツを含めることができるセクションがあります。これを行う方法?このような別のインデックスを作成しました

$autoload['static'] = array(JS_LIBS_PATH.'/jq.js');

しかし、明らかに何も起こりませんでした。その定数はconfig、phpで定義されています。同じ定数を使用して、ページにjqを配置できますが、自動ロードについてはどうでしょうか。

4

3 に答える 3

2

いくつかの精巧な解決策を考えることができますが、javascript はプレゼンテーション レベルであり、オートロード、モデル、コントローラーなどに含めるべきではないと本当に思います。

<head>基本的な HTML 要件で、ある種のマスター ビュー ファイルを使用することができます。

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title><?php echo $title; ?></title>

    <script src="/path/to/jquery.js"></script> <!-- jQuery on every page -->

    <!-- alternatively, loop through files in a custom config setting -->
    <?php foreach (config_item('default_js') as $src): ?>
    <script src="<?php echo $src; ?>"></script
    <?php endforeach; ?>

    <!-- ... and/or loop through files set in a controller -->
    <?php foreach ($js_files as $src): ?>
    <script src="<?php echo $src; ?>"></script
    <?php endforeach; ?>

  </head>
  <body>
    <header />
    <?php echo $content; ?>
    <footer />
  </body>
</html>

次に、次のようにビューをロードします。

$data['js_files'] = array('draggable.js', 'widgets.js');
$content = $this->load->view('index', $data, TRUE);
$this->load->view('master', array('title' => 'Home', 'content' => $content));

もちろん、これは何百万もの解決策のうちの 1 つにすぎませんが、Codeigniter が CSS と Javascript を「自動ロード」するという考えは意味がありません。何らかの方法で自分で「ロード」する必要があります。その方法は完全にあなた次第です。

于 2012-05-22T20:25:12.957 に答える
1

これが私がしばらくの間行ったことであり、それは非常にうまく機能します。

アセットファイル(javascript、スタイルシートなど)はアセットフォルダなどに/assets/js配置されます/assets/css

構成ファイルで、ロードするJavaScriptファイルのデフォルト配列を定義します。

$config['default_asset_js'] = array('js/jquery.js', 'js/jquery-ui.js');

ビューには、その配列を実行し、それぞれを出力するセクションがあります。

foreach($this->config-item('default_asset_js') as $file_name)
{
    echo '<script src="' . base_url('assets/' . $file_name) . '"></script>';
}

追加のファイルをロードする必要がある特定のページがある場合は、クリエイティブになってコントローラーのその配列に追加することもできます。

于 2012-05-22T20:10:54.770 に答える
0

CI では、ヘルパーは名前が示すように、タスクを支援します。したがって、jquery をヘルパーとして自動的に読み込むことができます。

  1. jquery ファイルを次の場所に置きます: /var/www/html/ci3/assets/js/jquery-2.1.4.min.js
  2. ファイル /var/www/html/ci3/application/helpers/jquery_helper.php を作成します (_helper.php サフィックスを使用する必要があります)。
  3. jquery_helper.php ファイル内で jquery-2.1.4.min.js ファイルを呼び出します。
    <script src="assets/js/jquery-2.1.4.min.js"></script>

  4. /var/www/html/ci3/application/config/autoload.php 内で jquery_helper.php を呼び出します。
    $autoload['helper'] = array('jquery'); これで、jquery が自動的にロードされ、すべてのビューで使用できるようになります。

于 2016-04-20T16:05:35.297 に答える