「最近の投稿」にアイキャッチ画像を表示したいです
Nori > 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/9 17:29 |
---|
nice-tempoにて、ブログのサイドウィジェットにある「最近の投稿」にアイキャッチを表示させたいのですが可能でしょうか?
可能であれば詳しい方ご指導のほどよろしくお願いします。 以上のような感じで考えています。 ■ BaserCMSのバージョン:4.1.3 |
beychan > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/10 11:19 |
---|
Noriさん
こんにちは。 引用: nice-tempoにて、ブログのサイドウィジェットにある「最近の投稿」にアイキャッチを表示させたいのですが可能でしょうか? 可能ではあるのですがウィジェットの仕様上アイキャッチのデータを取得していないので、表示させるのは難しい内容になると思います。 方法としては、 * DBからアイキャッチのデータを取得してくる * 専用のプラグインを作成する * 専用のコントローラーやヘルパーを作成する 等が上げられますが、baserCMSに詳しい方に直接依頼するのが良いのではないでしょうか? 問題の解決になっていないかもしれないですが、よろしくお願いします。 |
Nori > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/10 12:42 |
---|
beychan 様
ご返答ありがとうございます。 専用の方に任せるようなサイトではないので、極力自力での作成を考えております。 例えばトップページにアイキャッチを載せる方法などを応用してはできないのでしょうか? ■ BaserCMSのバージョン:4.1.3 |
Nori > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/10 16:13 |
---|
自分なりに考えて、以上のようにしてみたところ、 ソース上でリンクは形成されているようですが、画像は出ておりません… 最近の投稿でのタイトル部分と思われる
の下にnews/indexなどでアイキャッチを表示する方法で使用している
を書き入れても、該当するブログ記事のページでのみ、その記事のアイキャッチが表示されるのですが、 すべての記事のアイキャッチが、表示しているページのアイキャッチ画像になってしまいます。 (※本来は画像Aは上の記事だけで、画像Bを下の記事にしたいです。なお、オリジナルにはない、liにfloat:leftを入れてます。) ちなみに記事ページ以外ではnews/archivesまでのリンクの生成がされていますが、 画像が表示されません。 あと一歩な気がするのですがどなたか助けていただけませんでしょうか? ■ BaserCMSのバージョン:4.1.3 |
Nori > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/11 1:45 |
---|
テーマのカスタマイズのみでblog widgets blog_recent_entries でブログの投稿日時を表示させる。
こちらの投稿にある機能もアイキャッチ同様に実装したく、調べていましたがうまくいかず、 助けていただければ幸いです。 あと、アイキャッチ画像を表示させる機能も上記の応用で行けるのではと勝手ながら考えていますが、 どうなのでしょうか? どなたか教えていただければ幸いです。 ■ BaserCMSのバージョン:4.1.3 |
tecking > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/14 22:24 |
---|
Noriさん
nice-tempoではないテーマでの検証ですが、一例としてどうぞ。 (しかもCakePHPの作法からいうと、やや手抜きな方法ではありますが……) 1. /lib/Baser/Plugin/Blog/View/Elements/widgets/blog_recent_posts.php を、お使いのテーマディレクトリの Elements/widgets/ にコピー( widgets ディレクトリがなければ新規作成)。 これで、コピー先のファイルが「最近の投稿」のテンプレートとして優先されるようになります。 ※(追記)『nice-tempo』については、すでに Elements/widgets/blog_recent_posts.php があるので 1 の操作は不要です 2. /app/webroot/theme/{お使いのテーマディレクトリ}/Helper 内に FooHelper.php として下記を作成( Helper ディレクトリがなければ新規作成)。 $options の値はブログプラグインの getEyecatch() 関数に準じるので、適宜設定してください(下記コードでは、大きいサイズの画像へのリンクをなくす設定だけ行っています)。
3. 1のコピー先ファイルの任意の位置(=アイキャッチ画像を挿入したい位置)に下記のように挿入。
これで、個別記事へのリンクが埋め込まれたアイキャッチ画像が表示されるかとおもいます。アイキャッチ画像の大きさは、2. のコードの $options や、CSSで適宜調整してみてくださいね。 |
Nori > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/15 16:33 |
---|
teckingさん
この度はありがとうございます。 ほぼ希望通り出来るようになったのですが、この場合は画像なしの際のnoimageはどうやれば反映させられるのでしょうか? ■ BaserCMSのバージョン:4.1.3 |
tecking > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/15 16:52 |
---|
引用:
画像なしの際のnoimageはどうやれば反映させられるのでしょうか? 独自ヘルパー(2で示したコード)の $options に noimage のキーと値を追加すればよいかとおもいます。値には画像ファイルへのパスを記述します。 未検証ですが、テーマディレクトリの img ディレクトリ内に noimage.png を置いた場合、ヘルパーはこんなコードになるのではと。
$options に設定できるキーと値は、関数リファレンスを参考にしてください。 関数リファレンス/Blog getEyeCatch 余談ですが、baserCMS(CakePHP)の作法的には getEyecatch でなく getEyeCatch が正しい記述でした。 |
Nori > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/15 18:25 |
---|
アドバイスありがとうございます。
noimage.jpgをimg/common/以下に用意しているので、 そちらにアクセスさせたく、 教えていただいたコードの該当部分、
を
としたのですが、 表示される部分に
と、文字化け?のような現象が起きます… img直下にnoimage.pngを用意し、 頂いたとおりにやっても同様のことが起きます。 何度もおたずねして恐縮ですが、 どこが問題でこのことが起きているかすらわからず、お手数おかけいたしますがお助けをお願いします。 ■ BaserCMSのバージョン:4.1.3 |
Nori > Re: 「最近の投稿」にアイキャッチ画像を表示したいです @ 2016/5/15 18:38 |
---|
の部分を
とすることで解決できました! ありがとうございました!! ■ BaserCMSのバージョン:4.1.3 |