BcContentsHelper
extends Helper
in package
uses
BcEventDispatcherTrait, BcContainerTrait
コンテンツヘルパ
Attributes
- #[AllowDynamicProperties]
Table of Contents
Properties
- $_Contents : ContentsTable
- $ContentsService : ContentsServiceInterface|ContentsService
- $helpers : array<string|int, mixed>
- Helper
- $PermissionsService : PermissionsService
- $Url : UrlHelper
- $_View : View
- View
Methods
- dispatchLayerEvent() : bool|Event
- イベントを発火
- getContentByEntityId() : array<string|int, mixed>|string|bool
- エンティティIDからコンテンツの情報を取得
- getContentByUrl() : array<string|int, mixed>|string|bool
- urlからコンテンツの情報を取得
- getContentFolderList() : array<string|int, mixed>|bool
- フォルダリストを取得する
- getCurrentContent() : false|Site
- フロントページにおいて現在のコンテンツを取得する
- getCurrentRelatedSiteUrl() : mixed|string
- 現在のURLを元に指定したサブサイトのURLを取得する
- getCurrentSite() : false|Site
- フロントページにおいて現在のサイトを取得する
- getFolderLinkedUrl() : string
- 対象コンテンツが属するフォルダまでのフルパスを取得する フォルダ名称部分にはフォルダ編集画面へのリンクを付与する コンテンツ編集画面で利用
- getJsonItems() : string
- コンテンツ設定を Json 形式で取得する
- getNextLink() : mixed
- フォルダ内の次のコンテンツへのリンクを取得する
- getParent() : EntityInterface|array<string|int, mixed>|false
- 親コンテンツを取得する
- getPrevLink() : string|false
- フォルダ内の前のコンテンツへのリンクを取得する
- getPublishedSites() : ResultSetInterface
- 公開状態のサイトを全て取得する
- getPureUrl() : mixed
- プレフィックスなしのURLを取得する
- getRelatedSiteContents() : array<string|int, mixed>|false
- 関連サイトのコンテンツを取得
- getRelatedSiteLinks() : array<string|int, mixed>
- 関連サイトのリンク情報を取得する
- getService() : array<string|int, mixed>|mixed|object
- Get Service
- getSiteRoot() : Content
- サイトIDからサイトルートとなるコンテンツを取得する
- getSiteRootId() : string|bool
- サイトIDからサイトルートとなるコンテンツIDを取得する
- getTree() : ResultSetDecorator
- コンテンツリストをツリー構造で取得する
- getUrl() : string
- コンテンツ管理上のURLを元に正式なURLを取得する
- getUrlById() : mixed
- コンテンツIDよりフルURLを取得する
- hasService() : bool
- Has Service
- initialize() : void
- initialize
- isActionAvailable() : bool
- アクションが利用可能かどうか確認する
- isAllowPublish() : mixed
- データが公開状態にあるか確認する
- isEditable() : bool
- コンテンツが編集可能かどうか確認
- isFolder() : bool
- フォルダかどうか確認する
- isParentId() : bool
- IDがコンテンツ自身の親のIDかを判定する
- isSiteRelated() : bool
- サイト連携データかどうか確認する
- nextLink() : mixed
- フォルダ内の次のコンテンツへのリンクを出力する
- prevLink() : void
- フォルダ内の前のコンテンツへのリンクを出力する
- setup() : mixed
- セットアップ
- _getExistsTitles() : array<string|int, mixed>
- シングルコンテンツで既に登録済のタイトルを取得する
- getPageNeighbors() : array<string|int, mixed>
- 指定した固定ページデータの次、または、前のデータを取得する
- _getContent() : array<string|int, mixed>|EntityInterface|false|mixed
- 条件を指定してコンテンツを取得する フィールドを指定した場合はフィールドの値を取得する
Properties
$_Contents
public
ContentsTable
$_Contents
$ContentsService
public
ContentsServiceInterface|ContentsService
$ContentsService
$helpers
Helper
public
array<string|int, mixed>
$helpers
= ['BaserCore.BcBaser', 'Url']
$PermissionsService
public
PermissionsService
$PermissionsService
$Url
public
UrlHelper
$Url
$_View
View
protected
View
$_View
Methods
dispatchLayerEvent()
イベントを発火
public
dispatchLayerEvent(string $name[, array<string|int, mixed> $data = [] ][, mixed $options = [] ]) : bool|Event
Parameters
- $name : string
- $data : array<string|int, mixed> = []
- $options : mixed = []
Tags
Return values
bool|EventgetContentByEntityId()
エンティティIDからコンテンツの情報を取得
public
getContentByEntityId(int $id, string $contentType[, string $field = null ]) : array<string|int, mixed>|string|bool
Parameters
- $id : int
-
エンティティID
- $contentType : string
-
コンテンツタイプ ('Page','MailContent','BlogContent','ContentFolder')
- $field : string = null
-
取得したい値 'name','url','title'など 初期値:Null 省略した場合配列を取得
Tags
Return values
array<string|int, mixed>|string|boolgetContentByUrl()
urlからコンテンツの情報を取得
public
getContentByUrl(string $url, string $contentType[, string $field = null ]) : array<string|int, mixed>|string|bool
Parameters
- $url : string
- $contentType : string
-
コンテンツタイプ ('Page','MailContent','BlogContent','ContentFolder')
- $field : string = null
-
取得したい値 'name','url','title'など 初期値:Null 省略した場合配列を取得
Tags
Return values
array<string|int, mixed>|string|boolgetContentFolderList()
フォルダリストを取得する
public
getContentFolderList([int $siteId = null ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|bool
Parameters
- $siteId : int = null
- $options : array<string|int, mixed> = []
Tags
Return values
array<string|int, mixed>|boolgetCurrentContent()
フロントページにおいて現在のコンテンツを取得する
public
getCurrentContent() : false|Site
Tags
Return values
false|SitegetCurrentRelatedSiteUrl()
現在のURLを元に指定したサブサイトのURLを取得する
public
getCurrentRelatedSiteUrl(string $siteName) : mixed|string
Parameters
- $siteName : string
Return values
mixed|stringgetCurrentSite()
フロントページにおいて現在のサイトを取得する
public
getCurrentSite() : false|Site
Tags
Return values
false|SitegetFolderLinkedUrl()
対象コンテンツが属するフォルダまでのフルパスを取得する フォルダ名称部分にはフォルダ編集画面へのリンクを付与する コンテンツ編集画面で利用
public
getFolderLinkedUrl(Content $content) : string
Parameters
- $content : Content
-
コンテンツデータ
Tags
Return values
stringgetJsonItems()
コンテンツ設定を Json 形式で取得する
public
getJsonItems() : string
Tags
Return values
stringgetNextLink()
フォルダ内の次のコンテンツへのリンクを取得する
public
getNextLink([string $title = '' ][, array<string|int, mixed> $options = [] ]) : mixed
MEMO: BcRequest.(agent).aliasは廃止
Parameters
- $title : string = ''
- $options : array<string|int, mixed> = []
-
オプション(初期値 : array())
-
class
: CSSのクラス名(初期値 : 'next-link') -
arrow
: 表示文字列(初期値 : ' ≫') -
overFolder
: フォルダ外も含めるかどうか(初期値 : false) ※ overFolder が true の場合は、BcPageHelper::contentsNaviAvailable() が false だとしても強制的に出力する -
escape
: エスケープするかどうか
-
Tags
Return values
mixed —コンテンツナビが無効かつオプションoverFolderがtrueでない場合はfalseを返す
getParent()
親コンテンツを取得する
public
getParent([null $id = null ][, bool $direct = true ]) : EntityInterface|array<string|int, mixed>|false
- 引数なしで現在のコンテンツの親情報を取得
- $id を指定して取得する事ができる
- $direct を false に設定する事で、最上位までの親情報を取得
Parameters
- $id : null = null
- $direct : bool = true
-
直接の親かどうか
Tags
Return values
EntityInterface|array<string|int, mixed>|falsegetPrevLink()
フォルダ内の前のコンテンツへのリンクを取得する
public
getPrevLink([string $title = '' ][, array<string|int, mixed> $options = [] ]) : string|false
Parameters
- $title : string = ''
- $options : array<string|int, mixed> = []
-
オプション(初期値 : array())
-
class
: CSSのクラス名(初期値 : 'prev-link') -
arrow
: 表示文字列(初期値 : ' ≫') -
overFolder
: フォルダ外も含めるかどうか(初期値 : false) -
escape
: エスケープするかどうか
-
Tags
Return values
string|falsegetPublishedSites()
公開状態のサイトを全て取得する
public
getPublishedSites() : ResultSetInterface
Tags
Return values
ResultSetInterfacegetPureUrl()
プレフィックスなしのURLを取得する
public
getPureUrl(string $url, int $siteId) : mixed
Parameters
- $url : string
- $siteId : int
Tags
getRelatedSiteContents()
関連サイトのコンテンツを取得
public
getRelatedSiteContents([int $id = null ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|false
Parameters
- $id : int = null
-
コンテンツID
- $options : array<string|int, mixed> = []
Return values
array<string|int, mixed>|falsegetRelatedSiteLinks()
関連サイトのリンク情報を取得する
public
getRelatedSiteLinks([int $id = null ][, mixed $options = [] ]) : array<string|int, mixed>
Parameters
- $id : int = null
- $options : mixed = []
Tags
Return values
array<string|int, mixed>getService()
Get Service
public
getService(mixed $service) : array<string|int, mixed>|mixed|object
Parameters
- $service : mixed
Tags
Return values
array<string|int, mixed>|mixed|objectgetSiteRoot()
サイトIDからサイトルートとなるコンテンツを取得する
public
getSiteRoot(int $siteId) : Content
Parameters
- $siteId : int
Tags
Return values
ContentgetSiteRootId()
サイトIDからサイトルートとなるコンテンツIDを取得する
public
getSiteRootId(int $siteId) : string|bool
Parameters
- $siteId : int
Tags
Return values
string|boolgetTree()
コンテンツリストをツリー構造で取得する
public
getTree([int $id = 1 ][, int $level = null ][, array<string|int, mixed> $options = [] ]) : ResultSetDecorator
Parameters
- $id : int = 1
-
コンテンツID
- $level : int = null
-
階層を指定する場合に階層数を指定
- $options : array<string|int, mixed> = []
-
オプション
-
type
: コンテンツタイプ -
order
: ソート順(初期値:['Contents.site_id', 'Contents.lft']) -
siteId
: サイトID
-
Tags
Return values
ResultSetDecoratorgetUrl()
コンテンツ管理上のURLを元に正式なURLを取得する
public
getUrl(string $url[, bool $full = false ][, bool $useSubDomain = false ][, bool $base = false ]) : string
ドメインからのフルパスでない場合、デフォルトでは、 サブフォルダ設置時等の baseUrl(サブフォルダまでのパス)は含まない
Parameters
- $url : string
-
コンテンツ管理上のURL
- $full : bool = false
-
http からのフルのURLかどうか
- $useSubDomain : bool = false
-
サブドメインを利用しているかどうか
- $base : bool = false
-
$full が false の場合、ベースとなるURLを含めるかどうか
Tags
Return values
string —URL
getUrlById()
コンテンツIDよりフルURLを取得する
public
getUrlById(int $id[, mixed $full = false ]) : mixed
Parameters
- $id : int
-
コンテンツID
- $full : mixed = false
Tags
hasService()
Has Service
public
hasService(mixed $service) : bool
Parameters
- $service : mixed
Tags
Return values
boolinitialize()
initialize
public
initialize(array<string|int, mixed> $config) : void
Parameters
- $config : array<string|int, mixed>
Tags
isActionAvailable()
アクションが利用可能かどうか確認する
public
isActionAvailable(string $type, string $action, int $entityId) : bool
Parameters
- $type : string
-
コンテンツタイプ
- $action : string
-
アクション
- $entityId : int
-
コンテンツを特定するID
Tags
Return values
boolisAllowPublish()
データが公開状態にあるか確認する
public
isAllowPublish(array<string|int, mixed> $data[, bool $self = false ]) : mixed
Parameters
- $data : array<string|int, mixed>
-
コンテンツデータ
- $self : bool = false
-
コンテンツ自身の公開状態かどうか
Tags
isEditable()
コンテンツが編集可能かどうか確認
public
isEditable(Content $content) : bool
Parameters
- $content : Content
-
コンテンツ、サイト情報を格納した配列
Tags
Return values
boolisFolder()
フォルダかどうか確認する
public
isFolder() : bool
Tags
Return values
boolisParentId()
IDがコンテンツ自身の親のIDかを判定する
public
isParentId(int $id, int $parentId) : bool
Parameters
- $id : int
-
コンテンツ自身のID
- $parentId : int
-
親として判定するID
Tags
Return values
boolisSiteRelated()
サイト連携データかどうか確認する
public
isSiteRelated(EntityInterface $content) : bool
Parameters
- $content : EntityInterface
-
コンテンツデータ
Tags
Return values
boolnextLink()
フォルダ内の次のコンテンツへのリンクを出力する
public
nextLink([string $title = '' ][, array<string|int, mixed> $options = [] ]) : mixed
Parameters
- $title : string = ''
- $options : array<string|int, mixed> = []
-
オプション(初期値 : array())
-
class
: CSSのクラス名(初期値 : 'next-link') -
arrow
: 表示文字列(初期値 : ' ≫') -
overFolder
: フォルダ外も含めるかどうか(初期値 : false) ※ overFolder が true の場合は、BcPageHelper::contentsNaviAvailable() が false だとしても強制的に出力する
-
Tags
prevLink()
フォルダ内の前のコンテンツへのリンクを出力する
public
prevLink([string $title = '' ][, array<string|int, mixed> $options = [] ]) : void
Parameters
- $title : string = ''
- $options : array<string|int, mixed> = []
-
オプション(初期値 : array())
-
class
: CSSのクラス名(初期値 : 'prev-link') -
arrow
: 表示文字列(初期値 : ' ≫') -
overFolder
: フォルダ外も含めるかどうか(初期値 : false) ※ overFolder が true の場合は、BcPageHelper::contentsNaviAvailable() が false だとしても強制的に出力する
-
Tags
Return values
void —コンテンツナビが無効かつオプションoverFolderがtrueでない場合はfalseを返す
setup()
セットアップ
public
setup() : mixed
Tags
_getExistsTitles()
シングルコンテンツで既に登録済のタイトルを取得する
protected
_getExistsTitles() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>getPageNeighbors()
指定した固定ページデータの次、または、前のデータを取得する
protected
getPageNeighbors(Content $content[, bool $overFolder = false ]) : array<string|int, mixed>
Parameters
- $content : Content
- $overFolder : bool = false
-
フォルダ外も含めるかどうか
Tags
Return values
array<string|int, mixed> —次、または、前の固定ページデータ
_getContent()
条件を指定してコンテンツを取得する フィールドを指定した場合はフィールドの値を取得する
private
_getContent(array<string|int, mixed> $conditions[, string|null $field = null ]) : array<string|int, mixed>|EntityInterface|false|mixed
Parameters
- $conditions : array<string|int, mixed>
- $field : string|null = null