質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

1回答

6951閲覧

FuelPHPでAssetクラスを用いてもCSSが反映されない

msb839

総合スコア13

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

1クリップ

投稿2016/08/24 07:57

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)FuelPHPでフロント画面を作成する際に、
Assetクラスを用いてcssを読み込もうとすると、
以下のエラーメッセージが発生しました。

###発生している問題・エラーメッセージ

Fuel\Core\FuelException [ Error ]: Could not find asset: example.css

###該当のソースコード

php

1<head> 2<?php echo Asset::css('example.css'); ?> 3 <title>Doccument</title> 4</head> 5 6※"example.css"の場所 7~/Project_directory/public/assets/css/example.css

###試したこと
fuel/core/config/asset.phpより
AssetクラスのPathを調べましたが、

'paths' => array('assets/'),

'img_dir' => 'img/',
'js_dir' => 'js/',
'css_dir' => 'css/',

とデフォルトのままです。

以上よろしくお願いいたします。

###補足情報(言語/FW/ツール等のバージョンなど)
Fuel: 1.7.3
PHP 5.6.23

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/24 08:20 編集

fuelphpの設置状況(fuel本体パス、サイトからアクセスするときのパス)、fuel/app/config/config.php にて'base_url'の指定はどうなってますか? 他のfuelphpの機能は動いてますか?
msb839

2016/08/24 09:53 編集

コメントありがとうございます。 fuelphpはXAMPPのhtdocsの中に設置しており、'base_url'はnullでした。 そして動作確認の際に気がついたのですが、URLが間違っており、違うファイルを参照していました。 "welcome/index.php" -> "/index.php/welcome/index.php" と修正したら、反映されるようになりました。
nnssn

2016/08/24 21:20 編集

表題の件が解決したようなのでご自身で回答をつけた後、自己解決を選択することをおすすめします。それと "/index.php/welcome/index.php"は"インストールパス/welcome"で実行できるはずです。
msb839

2016/08/25 01:05

アドバイスありがとうございます。 インストールパス/welcomeとするとやはり、cssが反映されなくなります。
guest

回答1

0

設定情報がほとんど質問者さんから出てこないので、
勝手にうちのXAMPP上での設定を書き出してみます。

C:\XAMPP\htdocsディレクトリ上に、
C:\Users(ユーザー名)\work\fuelphp\public のシンボリックリンクfuelを置いているため、
http://localhost/fuel/ とするとFuelPHPのコンテンツにアクセスできる状態になってます。
もしもwebサイトのルートディレクトリでFuelPHPを公開する(/fuel/をつけたくない)のであれば、
C:\XAMPPディレクトリ上にpublicのシンボリックを作ることになるでしょう。

そのpublicディレクトリには、.htaccessファイルが置いてあり、コメント行を省くとこんな感じになってます。

# SetEnv FUEL_ENV production SetEnv FUEL_ENV local <IfModule mod_rewrite.c> Options +FollowSymLinks -Indexes RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d <IfModule mod_fcgid.c> RewriteRule ^(.*)$ index.php?/$1 [QSA,L] </IfModule> <IfModule !mod_fcgid.c> <IfModule mod_php5.c> RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> <IfModule !mod_php5.c> RewriteRule ^(.*)$ index.php?/$1 [QSA,L] </IfModule> </IfModule> </IfModule>

となってます。これは環境変数FUEL_ENVくらいしかいじってないです。

Assetクラスを使うのに、「C:\Users(ユーザー名)\work\fuelphp\public\assets\img」に画像を置いたら、
問題なく組み込めるところまでいま実験できていて、
viewのphpファイルに

<?php echo Asset::img('system-logo.gif'); ?>

って書いて表示できました。
ご参考になりますでしょうか。

投稿2016/08/25 02:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

msb839

2016/08/25 07:27 編集

ご回答ありがとうございます。 おそらく、URLを一部省略するために、.htaccess や httpdを書き換えた際に publicフォルダへのパスが外れてしまったようですが、そもそもFuel導入時の 設定が怪しかったので、一から環境を作り直しています。 不明な点あるいは原因が判明したら、また報告いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問