tomita
1
【環境情報】
・baserCMSのバージョン: 5.0.3
・レンタルサーバー名:ロリポップ
・使用テーマ: サンプルテーマ ( BcThemeSample )
・PHPスキル(自己評価):C
①フォルダ編集>フォルダテンプレートで「default」から「eyecach」に切り替える。
②現状固定ページのリストだけは表示されています。以下のようなソースを記述するらしいのですがeyecatch.phpにどう書いたらよいか分かりません。
‘imgsize’ => ‘thumb’,
‘link’ => false,
‘noimage’ => ‘admin/noimage.png’
ご指導の程よろしくお願いいたします。
サイト\plugins\CustomTheme\templates\ContentFolders\eyecatch.php
----------eyecatch.phpの現状----------

GUSSAN
2
すいません、5系を使ったことがないので詳しくはわかりませんが、4系の同名ファイルをサンプルにされてはどうでしょうか?
↓4系ファイル
/lib/Baser/View/ContentFolders/eyecatch.php
<?php
/**
* baserCMS : Based Website Development Project <https://basercms.net>
* Copyright (c) baserCMS Users Community <https://basercms.net/community/>
*
* @copyright Copyright (c) baserCMS Users Community
* @link https://basercms.net baserCMS Project
* @package Baser.View
* @since baserCMS v 4.0.0
* @license https://basercms.net/license/index.html
*/
?>
<h1><?php echo $this->request->params['Content']['title'] ?></h1>
<?php if ($children): ?>
<ul class="eyecatch-list clearfix">
<?php foreach($children as $child): ?>
<li>
<?php $this->BcBaser->link($this->BcUpload->uploadImage('Content.eyecatch', $child['Content']['eyecatch'], [
'imgsize' => 'thumb',
'link' => false,
'noimage' => 'admin/noimage.png'
]), $child['Content']['url']) ?>
<p><?php $this->BcBaser->link($child['Content']['title'], $child['Content']['url']) ?></p>
</li>
<?php endforeach ?>
</ul>
<?php endif ?>
tomita
3
GUSSAN様
いつもありがとうございます。やってみました。
以下のエラーが出てしまいます。

GUSSAN
4
ざっくり、以下のようにして試して見ましたが、「第2引数に EntityInterface を指定してください。」というエラーメッセージでした。
<?php
/**
* baserCMS : Based Website Development Project <https://basercms.net>
* Copyright (c) baserCMS Users Community <https://basercms.net/community/>
*
* @copyright Copyright (c) baserCMS Users Community
* @link https://basercms.net baserCMS Project
* @package Baser.View
* @since baserCMS v 4.0.0
* @license https://basercms.net/license/index.html
*/
?>
<h2><?php $this->BcBaser->ContentTitle() ?></h2>
<?php if ($children): ?>
<ul class="bs-contents-list">
<?php foreach($children as $child): ?>
<li>
<?php $this->BcBaser->link($this->BcUpload->uploadImage('Content.eyecatch', $child->eyecatch, [
'imgsize' => 'thumb',
'link' => false,
'noimage' => 'admin/noimage.png'
]), $child->url) ?>
<?php $this->BcBaser->link($child->title, $child->url) ?>
</li>
<?php endforeach ?>
</ul>
<?php endif ?>
「EntityInterface」自体、何を意味しているのか私にはわかりません。
どなたかのコメントを待つしかなさそうですね。すいません。
tomita
5
いえいえ、わざわざお試し頂き有り難うございます。はい。気長にコメント待ちます。Ver4からVer5になってまだ情報が少ないですね。激暑の日々が続きますがGUSSANさんもお体ご自愛下さいませ。
kaburk
6
手元のbaserCMS5環境で試してみたところ、
$this->BcUpload->uploadImage(
'eyecatch',
$child,
[
'link' => false,
'noimage' => '/files/uploads/bessy002.png',
'width' => '100',
'table' => 'BaserCore.Contents',
]
);
という感じに第3引数のオプションでtableを指定するか、
事前に
$this->BcUpload->setTable('BaserCore.Contents');
を別途記述しておく必要があるようでした。
↓こんな感じです。
baserCMS4系と色々と仕様が変わっているのでサンプルやドキュメント整備が必要ですね。
ソースコード見たけどuploadImageのコメントにはオプションでtable指定するとか記載がなかったので…
「いいね!」 1
tomita
7
kaburk様
出来ましたヾ(≧∇≦)ゞ スゲー!
ご説明は難しくて良く分かりませんが…おいおい勉強してまいります。
本当にありがとうございました!
GUSSAN
8
BcBaser->link
の以下のオプションが初期値:trueになったようで、
* - `escape` : タイトルとHTML属性をエスケープするかどうか(初期値 : true)
* - `escapeTitle` : タイトルをエスケープするかどうか(初期値 : true)
今回の場合、
'escape' => false
も肝ですね。
tomita
9
なるほど!(実はまだ良く解ってません)勉強になります。ご指導有り難うございます。