Nori
1
いつもお世話になっております。
現在制作中のウェブサイトで、BcSampleを基に作業をしているのですが、
ブログのコメントフォームにて、入力者がURLを入力する際に、httpからではなく、ドメイン部分から記入すると、サイト本体のサブフォルダのようなURLに変換されてしまいます…
説明が難しいので、以下に例を示します。
【入力情報】 yahoo.jp
【生成されるリンク情報】 http://○○○.com/blog/yahoo.jp
希望は当然、入力情報同様のリンク生成もしくは接頭部分に自動的なhttpの付与です(httpsの場合もあるから理想的ではない?)
また、過去ログの
https://forum-archive.basercms.net/modules/newbb/viewtopic.php?topic_id=1304&forum=5#forumpost4971
こちらと同様に#post-detailへのジャンプを外したいのですが、
過去と仕様が大幅に変わっているようで、仮説を立てつつ自力でやってもうまくいきませんでした…
上記2点、どなたか修正方法をご指南いただければ幸いです。
宜しくお願い致します。
【環境情報】
・baserCMSのバージョン:4.2.0
・レンタルサーバー名:ロリポップ
・使用テーマ:BcSample
・PHPスキル(自己評価):D
ryota
2
外部リンクについてになります。
コアを弄らないで、間に合わせで対応する場合は次のファイルを修正すれば一応やりたいことはできるかと思います。
修正ファイル Elements/blog_commnet.php
もっとスマートなやり方もあると思いますが簡単な一例です。
<?php if ($dbData['url']): ?>
<?php echo $this->BcBaser->link($dbData['name'], $dbData['url'], array('target' => '_blank')) ?>
<?php else: ?>
<?php echo $dbData['name'] ?>
<?php endif ?>
<?php if ($dbData['url']): ?>
<?php if ( strpos( $dbData['url'], 'http') === false ): ?>
<?= $this->BcBaser->link($dbData['name'], 'https://' . $dbData['url'], array('rel' => 'nofollow noreferrer', 'aria-label' => '', 'title' => '', 'target' => '_blank')) ?>
<?php else: ?>
<?= $this->BcBaser->link($dbData['name'], $dbData['url'], array('rel' => 'nofollow noreferrer', 'aria-label' => '', 'title' => '', 'target' => '_blank')) ?>
<?php endif ?>
<?php else: ?>
<?= $dbData['name'] ?>
<?php endif ?>
#post-detailについてになります。
過去ログと同様になりますが、ディレクトリが以前とは異なります。
/lib/Baser/Plugin/Blog/View/Helper/BlogHelper.php
を直接修正するか
/theme/bc_sample/Helper/
にコピーして修正する方法になります。
修正に関しては過去ログと同じで大丈夫です。
. '#post-datail'
を削除
Nori
3
ryota 様
返答が遅くなり申し訳ありません…
blog_comment.php をアドバイスにしたがい書き換えました。
念の為、ソース全文を以下に記載しますので、ご確認お願い致します。
<?php
/**
* ブログコメント
* 呼出箇所:ブログ記事詳細
*/
?>
<?php if (!empty($dbData)): ?>
<?php if ($dbData['status']): ?>
≫
<?php if ($dbData['url']): ?>
<?php if ( strpos( $dbData['url'], 'http') === false ): ?>
<?= $this->BcBaser->link($dbData['name'], 'https://' . $dbData['url'], array('rel' => 'nofollow noreferrer', 'aria-label' => '', 'title' => '', 'target' => '_blank')) ?>
<?php else: ?>
<?= $this->BcBaser->link($dbData['name'], $dbData['url'], array('rel' => 'nofollow noreferrer', 'aria-label' => '', 'title' => '', 'target' => '_blank')) ?>
<?php endif ?>
<?php else: ?>
<?= $dbData['name'] ?>
<?php endif ?>
<?php echo nl2br($this->BcText->autoLinkUrls($dbData['message'])) ?>
<?php endif ?>
<?php endif ?>
機能としては問題なく、修正されました。
ありがとうございました。
#post-detailに関しては、
$out .= ‘
’ . $this->Html->link($moreLink, $this->getContentsUrl($post[‘BlogPost’][‘blog_content_id’], false) . ‘archives/’ . $post[‘BlogPost’][‘no’] . null, null) . ‘
’;
349行目あたりをアドバイスに従い、上記のように BlogHelper.php を書き換え、
/theme/bc_sample/Helper/ にアップロードしたところ、
問題なく修正されました。
ありがとうございました。