LoginSignup
0
1

More than 5 years have passed since last update.

FuelPHP1.7.3でAssetのパスをドキュメントルートに

Last updated at Posted at 2017-08-06

概要

デフォルトのままだとAssetクラスで扱う素材は、ドキュメントルートから1階層さがった下記のパスとなリます。

  • public/assets/css/
  • public/assets/img/
  • public/assets/js/

csss, img, jsをドキュメントルート直下に配置した場合、Assetクラスがそのままでは使えないようなので、調整してみる。

Asset設定ファイルを修正

pathsを追加する。
ただし、ドキュメントルートからのパスなので、空文字をセット。

fule/app/config/asset.php
<?php

return array(
    'paths'         => array(''),
    'add_mtime'     => true,
    'fail_silently' => false
);

コントローラを作って実行してみる

fuel/app/classes/controller/asset.php
<?php

/**
 * Smartyサンプル
 *
 * @package  app
 * @extends  Controller
 */
class Controller_Asset extends Controller
{
    /**
     * Smartyテンプレートのテスト
     *
     * @access  public
     * @return  Response
     */
    public function action_index()
    {
        // CSSの読み込み(linkタグ生成)
        echo htmlspecialchars(Asset::css('bootstrap.css'));
        echo '<br>';

        // JSの読み込み(scriptタグ生成)
        echo htmlspecialchars(Asset::js('bootstrap.js'));
        echo '<br>';

        // 画像の読み込み(imgタグ生成)
        echo htmlspecialchars(Asset::img('icon.jpg'));
        echo '<br>';
    }
}

テストしてみる

下記のように表示されたので成功のようです。

www.example.com
<link type="text/css" rel="stylesheet" href="http://www.example.com/css/bootstrap.css?1502024558" /> 
<script type="text/javascript" src="http://www.example.com/js/bootstrap.js?1502024558"></script> 
<img src="http://www.example.com/img/icon.jpg?1342323155" alt="" />

以上。

参考サイト

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1