■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

アイキャッチに記事へのリンクを張りたい

tomtom > アイキャッチに記事へのリンクを張りたい @ 2014/9/25 18:09
お世話になっております。質問させてください。

アイキャッチにリンクを張りたい
上の方と同じ内容と思われるのですが
アイキャッチに記事へのリンクを張りたいと思っています。

postLinkやgetPostLinkを使って色々試してみたのですがうまく行きません。
良い方法はないでしょいか。
よろしくお願いします。

■ BaserCMSのバージョン:3.0.5.1
■ レンタルサーバー名:mamp(ローカル)
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:SQLite

n1215 > Re: アイキャッチに記事へのリンクを張りたい @ 2014/9/25 19:59
tomtom 様

こんばんは。
BlogHelper::getEyeCatch()のデフォルトの出力では大きいサイズの画像へのリンクが含まれるので、
アンカータグで囲めなくなっているということでしょうか?
HTMLの仕様上アンカータグは入れ子にできませんからね。

BlogHelper::getEyeCatch()の第二引数の連想配列$optionsの'link'キーの値をfalseに設定し、
大きいサイズの画像へのリンクをオフにして解決するのが良いと思います。

<?php $this->Blog->postLink($post, $this->Blog->getEyeCatch($post, array('link' => false)));?>


【参考】
BlogHelper::getEyeCatch()の第二引数の$optionsによる設定項目の一覧は直接ソースを見ていただくとわかりやすいです。
https://github.com/baserproject/basercms/blob/dev-3/lib/Baser/Plugin/Blog/View/Helper/BlogHelper.php#L878

Twitter: @n_1215

tomtom > Re: アイキャッチに記事へのリンクを張りたい @ 2014/9/26 8:54
n1215 様

こんばんは。早速のご回答ありがとうございます。
貼っていただいたソースで出来ました!
$optionsに関数を入れることも可能なのですね。
精進したいと思います。
本当にありがとうございました。
n1215 > Re: アイキャッチに記事へのリンクを張りたい @ 2014/9/26 10:40
tomtom 様

解決できたようで何よりです。
少し誤解があるようですが、
BlogHelper::postlink()の第二引数は
$titleでアンカータグに挟まれる文字列です。

関数やメソッドは内側から先に評価されます。
今回の場合は内側のBlogHelper::getEyeCatch()が文字列(HTMLのタグ)を返すため、その文字列を第二引数として外側のメソッドが実行される、ということです。


もう一点、このケースの勘違いである可能性は低いように思えますが一応。
"関数"がgetEyeCatchの引数のarray()を指している場合です。
PHPにおけるarray()は配列を定義するための構文で関数ではありません。また、baserCMSではPHP5.3以下に対応するため用いられませんが、PHP5.4からarray構文と等価な[]の短縮構文が導入されています。

Twitter: @n_1215

tomtom > Re: アイキャッチに記事へのリンクを張りたい @ 2014/9/26 16:08
n1215様
お世話になっております。こんにちは。

重ね重ねアドバイスありがとうございました。

引用:

関数やメソッドは内側から先に評価されます。
今回の場合は内側のBlogHelper::getEyeCatch()が文字列(HTMLのタグ)を返すため、その文字列を第二引数として外側のメソッドが実行される、ということです。


こちらは初めて知ることができました。
大変勉強になりました。ありがとうございました。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
29 人のユーザが現在オンラインです。 (29 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 29