BcBaser->mainImageについてtarget="_blank" を加えて別タブで開くことを実現したい

manhoo > BcBaser->mainImageについてtarget="_blank" を加えて別タブで開くことを実現したい @ 2017/3/31 13:21
題名通り実現したいですが、どこを編集すればいいでしょうか。
よろしくお願いいたします。

<?php echo $this->BcBaser->mainImage(array('all' => true, 'num' => 5)) ?>


■ baserCMS 4.0.2.1
■ レンタルサーバー名:さくらサーバー
■ 利用しているデータベース: [ MySQL ]
■ テーマ Simple Company (bg03)
katokaisya > Re: BcBaser->mainImageについてtarget="_blank" を加えて別タブで開くことを実現したい @ 2017/4/4 11:08
manhooさん こんにちは。

汎用性のない方法なので、正解とは言い難いのですが・・・
拝見させていただいたソースに関してはtarget="_blank"をつけることは可能です。

<a href="リンク先URL" target="_blank">
<?php $this->BcBaser->mainImage(array('num' => 5, 'link' => false)) ?>
</a>

'link' => falseにすれば、imgタグだけ出力されるので、外側にaタグを付けることで対処は可能です。
manhoo > Re: BcBaser->mainImageについてtarget="_blank" を加えて別タブで開くことを実現したい @ 2017/4/4 11:15
katokaisyaさん

ご連絡ありがとうございます。
これで解決できそうです、確認してみます。
akillerbee > Re: BcBaser->mainImageについてtarget="_blank" を加えて別タブで開くことを実現したい @ 2017/4/4 11:32
こんにちはakillerbeeです。

コアのヘルパに手を加えることで対応可能かと思います。
※詳細にテストはできておりません。

lib/Baser/View/Helper/BcBaserHelper.php
関数「_getThemeImage」
$tag = $this->getImg($url, $imgOptions);
if ($options['link'] || $options['popup']) {
	$linkOptions = array();
	if ($options['popup']) {
		$linkOptions['rel'] = 'colorbox';
		$link = $originUrl;
	} elseif ($options['link']) {
		$link = $options['link'];
	} 	
	if ($options['alt']) {
		$linkOptions['title'] = $options['alt'];
	}
//// 追加↓
	if ($options['target']) {
		$linkOptions['target'] = $options['target'];
	}
//// 追加↑
	$tag = $this->getLink($tag, $link, $linkOptions);
}
return $tag;


下記のように要素を増やしてやる。
<?php $this->BcBaser->mainImage(array('num' => 5, 'link' => 'http://yahoo.co.jp', 'target' => '_blank')) ?>
manhoo > Re: BcBaser->mainImageについてtarget="_blank" を加えて別タブで開くことを実現したい @ 2017/4/4 11:44
akillerbee さん

こんにちは
ありがとうございます、編集してみます。
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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