【環境情報】
・baserCMSのバージョン:4.8.2
・レンタルサーバー名:ロリポップ
・使用テーマ:bc_sample
・PHPスキル(自己評価):E
ブログにアイキャッチ画像を設定しても、表示されません。
画像は
/blog/files/blog/1/blog_posts/2026/04/
にアップされているのですが、
imgタグのsrcのパスは
/blog/files1/blog_posts/2026/04/
となってしまっております。
もともとバージョン4.7.5だったのですが、この現象が解決できるのを期待して4.8.2にアップデートしてみましたが状況が変わりませんでした。
bc_sampleテンプレートに限らず、どのテンプレートでも同じです。
どこを直せば解決できるでしょうか。。。お教えいただければ幸いです。
もともとバージョン4.7.5だったのですが、この現象が解決できるのを期待して4.8.2にアップデートしてみましたが状況が変わりませんでした。
私の環境で4.7.5でブログにアイキャッチを設定しましたが再現しませんでした。
ブログアイキャッチのfilesの保存先はlib/Baser/View/Helper/BcUploadHelper.php::getBasePath()で/files/$saveDir/に決定しているようです。
$saveDirの値はlib/Baser/Plugin/Blog/Model/BlogPost.php::setupUpload()で、/blog/{ブログID}/blog_postsに決定しており、
最終的に、/files/blog/{ブログID}/blog_posts/{日付}/{ファイル名}になるようです。
1点確認です。
先述の通り、私の環境では/files/blog/{ブログID}/blog_posts/{日付}/にファイルが保存されています。pug_bonさんの環境では/filesの前に/blogが入っている認識でお間違いないでしょうか?
その場合、そちらの保存先が問題の可能性もありそうです。
デフォルトではおそらく/filesに保存するはずですので、/blog/filesに保存する処理を独自で実装されている場合、その処理の何処かで不正なパスに書き換わった可能性があります。
1度ご確認いただけますでしょうか?
不明点があればお申し付けください。
よろしくお願いします
ciao-h
3
@pug_bon さん こんにちは
こちらでの環境で4.7.5でブログにアイキャッチを設定したところ再現することができました。
@pug_bon さんは 「https:// ooo.xxx/blog/ 」
というようにサブディレクトリにbasercmsをインストールされているのではないでしょうか?
そのサブディレクトリ(フォルダ)が「blog」という名前だと、プログラムが誤作動してアップロードした画像のsrcなどのパスがおかしくなるのかもしれません。
バックアップを取るなどして「blog」以外の名前のフォルダに再インストールしてみてはどうでしょうか
Kryo513さん、ご返信ありがとうございます。
basercmsをサブディレクトリにインストールしており、その名称が「blog」であることが原因だったようです。
実際に検証までしていただき、有難うございました。
DOM操作して無理矢理置換して対応しておりましたが、今回いただいたアドバイスでコアファイルを覗いて追いかけるのも必要だと思いました。
有難うございました!
「いいね!」 1
ciao-hさんご返信ありがとうございます。
ご指摘の通り、サブディレクトリ名の問題だった様です。
再インストールの前に、単純にディレクトリ名を変更してみたところすんなり解決致しました。。
まだ触り始めたばかりで、それほど手を入れていない状態ですので再インストールしてやり直してみます。
次回、もし機会がありましたらまずは視点を変えてもっと検証してから質問させていただきます!
有難うございました。