a-blog cms PHP API Reference

CategoryHelper extends BaseHelper
in package
uses FieldTrait, EagerLoadingTrait

Table of Contents

Properties

$bids  : array<string|int, int>
$cids  : array<string|int, int>
$eids  : array<string|int, int>
$uids  : array<string|int, int>
$bid  : int
$blogAxis  : string
$categoryAxis  : string
$cid  : int|null
$config  : mixed
$countQuery  : SQL_Select
$eid  : int|null
$end  : string|null
$Field  : Field_Search|null
$keyword  : string|null
$order  : string
$page  : int
$sortFields  : array<string|int, mixed>
$start  : string|null
$tags  : array<string|int, string>
$uid  : int|null

Methods

__construct()  : mixed
コンストラクタ
buildCategoryListQuery()  : SQL_Select
カテゴリー一覧を取得するSQLを生成する
buildCategoryTreeForOutput()  : array<string|int, mixed>
カテゴリツリーを構築する(整形前) Tree と Flat の共通ロジック
buildTree()  : array<string|int, mixed>
カテゴリツリーを構築する
canAccessCategory()  : bool
カテゴリーへのアクセス権限を確認する
eagerLoadCategoryField()  : array<string|int, mixed>
カテゴリフィールドを一括で取得する
fixCategoryTreeData()  : array<string|int, mixed>
カテゴリツリーのデータを整形する
flattenCategoryTreeData()  : array<string|int, mixed>
カテゴリツリーをフラット配列に変換する
getCategoryIdsFromTree()  : array<string|int, int>
カテゴリツリーからカテゴリIDのリストを取得する
removeEmptyCategories()  : array<string|int, mixed>
カテゴリツリーから空のカテゴリを削除する
setProperty()  : void
プロパティの設定
sortTree()  : array<string|int, mixed>
buildFieldTrait()  : array<string|int, mixed>|null
フィールドを連想配列として組み立て
eagerLoadEntryTrait()  : array<int, array<string, mixed>>
エントリーのEagerLoading
eagerLoadFieldTrait()  : Field>)
eagerLoadFullTextTrait()  : array<int<1, max>, UnitCollection>
フルテキストのEagerLoading
eagerLoadMainImageFieldTrait()  : array<int, array<string|int, mixed>>
指定したエントリーカスタムフィールドのメインイメージをEagerLoadする
eagerLoadMainImageTrait()  : , media: array, fieldMainImage: array} : array{unit: array, media: array})">Model>, media: array})
メインイメージのEagerLoading
eagerLoadRelatedEntryTrait()  : array<string|int, mixed>
関連記事のEagerLoading
eagerLoadSubCategoriesTrait()  : array<string|int, array<int, array<string, mixed>>>
サブカテゴリーのEagerLoading
eagerLoadTagTrait()  : array<string|int, mixed>
タグのEagerLoading
resolveTemplateUrlsTrait()  : array<string|int, mixed>
toStructured の出力に対し、path フィールドの URL 解決と html フィールドの 絶対化(テンプレート出力固有)を適用する。
resolveTemplateUrlsInGroupRowTrait()  : array<string|int, mixed>
グループ内の 1 行に含まれるマルチ項目(連想配列構造)に対して URL 解決を適用。
resolveTemplateUrlsInMultiEntryTrait()  : array<string|int, mixed>
マルチ項目フィールドエントリ('value'/'array' を持つ)に対して URL 解決を適用。

Properties

$categoryAxis

protected string $categoryAxis = 'self'

$sortFields

protected array<string|int, mixed> $sortFields = []

$tags

protected array<string|int, string> $tags = []

Methods

__construct()

コンストラクタ

public __construct(array<string|int, mixed> $params) : mixed
Parameters
$params : array<string|int, mixed>

buildCategoryListQuery()

カテゴリー一覧を取得するSQLを生成する

public buildCategoryListQuery(int $bid, int|null $cid, string $categoryAxis, string|null $keyword, Field_Search|null $field, string|null $start, string|null $end, "entry"|"category" $searchType, bool $indexing, bool $countEntryInSubcategories) : SQL_Select
Parameters
$bid : int
$cid : int|null
$categoryAxis : string
$keyword : string|null
$field : Field_Search|null
$start : string|null
$end : string|null
$searchType : "entry"|"category"
$indexing : bool
$countEntryInSubcategories : bool
Return values
SQL_Select

buildCategoryTreeForOutput()

カテゴリツリーを構築する(整形前) Tree と Flat の共通ロジック

public buildCategoryTreeForOutput(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
$params : array<string|int, mixed>

必須: bid, cid, categoryAxis, keyword, field, start, end, searchTarget, categoryDisplayIndexingOnly, countEntryInSubcategories, displayCategoryWithoutEntry, categoryDisplayDepth, categoryOrder

Return values
array<string|int, mixed>

整形前のツリー(children 付き)

buildTree()

カテゴリツリーを構築する

public buildTree(array<string|int, mixed> $categories[, int $parentId = 0 ][, int $depth = 0 ][, int $maxDepth = 99 ]) : array<string|int, mixed>
Parameters
$categories : array<string|int, mixed>
$parentId : int = 0
$depth : int = 0
$maxDepth : int = 99
Return values
array<string|int, mixed>

canAccessCategory()

カテゴリーへのアクセス権限を確認する

public canAccessCategory(int $cid) : bool
Parameters
$cid : int
Return values
bool

eagerLoadCategoryField()

カテゴリフィールドを一括で取得する

public eagerLoadCategoryField(array<string|int, int> $categoryIds) : array<string|int, mixed>
Parameters
$categoryIds : array<string|int, int>
Return values
array<string|int, mixed>

fixCategoryTreeData()

カテゴリツリーのデータを整形する

public fixCategoryTreeData(int $bid, array<string|int, mixed> $categories, bool $showEntryCount, bool $showGeolocation, array<string|int, Field>|null $eagerLoadedField) : array<string|int, mixed>
Parameters
$bid : int
$categories : array<string|int, mixed>
$showEntryCount : bool
$showGeolocation : bool
$eagerLoadedField : array<string|int, Field>|null
Return values
array<string|int, mixed>

flattenCategoryTreeData()

カテゴリツリーをフラット配列に変換する

public flattenCategoryTreeData(array<string|int, mixed> $categories) : array<string|int, mixed>
Parameters
$categories : array<string|int, mixed>

fixCategoryTreeData の出力(children 含む)

Return values
array<string|int, mixed>

getCategoryIdsFromTree()

カテゴリツリーからカテゴリIDのリストを取得する

public getCategoryIdsFromTree(array<string|int, mixed> $categories) : array<string|int, int>
Parameters
$categories : array<string|int, mixed>
Return values
array<string|int, int>

removeEmptyCategories()

カテゴリツリーから空のカテゴリを削除する

public removeEmptyCategories(array<string|int, mixed> $categories) : array<string|int, mixed>
Parameters
$categories : array<string|int, mixed>
Return values
array<string|int, mixed>

setProperty()

プロパティの設定

public setProperty(string $name, mixed $value) : void
Parameters
$name : string
$value : mixed

sortTree()

public sortTree(mixed $tree, string $key[, bool $isAsc = true ]) : array<string|int, mixed>
Parameters
$tree : mixed
$key : string
$isAsc : bool = true
Return values
array<string|int, mixed>

buildFieldTrait()

フィールドを連想配列として組み立て

protected buildFieldTrait(Field|Field_Validation $field[, string|null $scp = null ]) : array<string|int, mixed>|null
Parameters
$field : Field|Field_Validation
$scp : string|null = null

子フィールドとして再帰したときの名前(takeover キーの prefix に使う)

Return values
array<string|int, mixed>|null

フィールドが空の場合は null

eagerLoadEntryTrait()

エントリーのEagerLoading

protected eagerLoadEntryTrait(array<string|int, int> $ids) : array<int, array<string, mixed>>
Parameters
$ids : array<string|int, int>
Return values
array<int, array<string, mixed>>

eagerLoadFieldTrait()

protected eagerLoadFieldTrait(array<string|int, int>|array<string|int, string> $ids, "eid"|"uid"|"bid"|"cid"|"mid"|"unit_id" $type[, int|null $rvid = null ]) : Field>)
Parameters
$ids : array<string|int, int>|array<string|int, string>
$type : "eid"|"uid"|"bid"|"cid"|"mid"|"unit_id"
$rvid : int|null = null
Return values
Field>)

eagerLoadFullTextTrait()

フルテキストのEagerLoading

protected eagerLoadFullTextTrait(array<string|int, int> $entryIds) : array<int<1, max>, UnitCollection>
Parameters
$entryIds : array<string|int, int>
Return values
array<int<1, max>, UnitCollection>

eagerLoadMainImageFieldTrait()

指定したエントリーカスタムフィールドのメインイメージをEagerLoadする

protected eagerLoadMainImageFieldTrait(array<string|int, mixed> $entryIds, string $fieldName[, int|null $rvid = null ]) : array<int, array<string|int, mixed>>
Parameters
$entryIds : array<string|int, mixed>
$fieldName : string
$rvid : int|null = null
Return values
array<int, array<string|int, mixed>>

eagerLoadMainImageTrait()

メインイメージのEagerLoading

protected eagerLoadMainImageTrait(mixed $entries[, mixed $target = 'unit' ][, mixed $fieldName = '' ][, int|null $rvid = null ]) : , media: array, fieldMainImage: array} : array{unit: array, media: array})">Model>, media: array})
Parameters
$entries : mixed
$target : mixed = 'unit'

'unit'|'field'

$fieldName : mixed = ''

?string

$rvid : int|null = null
Return values
, media: array, fieldMainImage: array} : array{unit: array, media: array})">Model>, media: array})

eagerLoadRelatedEntryTrait()

関連記事のEagerLoading

protected eagerLoadRelatedEntryTrait(array<string|int, int> $eidArray) : array<string|int, mixed>
Parameters
$eidArray : array<string|int, int>
Return values
array<string|int, mixed>

eagerLoadSubCategoriesTrait()

サブカテゴリーのEagerLoading

protected eagerLoadSubCategoriesTrait(array<string|int, int> $eidArray[, null|int $rvid = null ]) : array<string|int, array<int, array<string, mixed>>>
Parameters
$eidArray : array<string|int, int>
$rvid : null|int = null
Return values
array<string|int, array<int, array<string, mixed>>>

eagerLoadTagTrait()

タグのEagerLoading

protected eagerLoadTagTrait(array<string|int, int> $eidArray[, int|null $rvid = null ]) : array<string|int, mixed>
Parameters
$eidArray : array<string|int, int>
$rvid : int|null = null
Return values
array<string|int, mixed>

resolveTemplateUrlsTrait()

toStructured の出力に対し、path フィールドの URL 解決と html フィールドの 絶対化(テンプレート出力固有)を適用する。

protected resolveTemplateUrlsTrait(array<string|int, mixed> $data, Field|Field_Validation $field) : array<string|int, mixed>
  • マルチ項目フィールド (['value' => {...}, 'array' => [...]]) の中の path / html
  • グループ内マルチ項目(連番キーの行配列の中の各 baseName)の path / html

単一値フィールドや、グループ内単一値フィールドには URL 解決を適用しない(旧挙動)。

Parameters
$data : array<string|int, mixed>
$field : Field|Field_Validation
Return values
array<string|int, mixed>

resolveTemplateUrlsInGroupRowTrait()

グループ内の 1 行に含まれるマルチ項目(連想配列構造)に対して URL 解決を適用。

private resolveTemplateUrlsInGroupRowTrait(array<string|int, mixed> $row, Field|Field_Validation $field) : array<string|int, mixed>

グループ内単一値は ['value' => x] の形なのでスキップ。 グループ内マルチ項目は ['alt' => x, 'path' => y, ...] の形。

Parameters
$row : array<string|int, mixed>
$field : Field|Field_Validation
Return values
array<string|int, mixed>

resolveTemplateUrlsInMultiEntryTrait()

マルチ項目フィールドエントリ('value'/'array' を持つ)に対して URL 解決を適用。

private resolveTemplateUrlsInMultiEntryTrait(array<string|int, mixed> $entry, string $baseName, Field|Field_Validation $field) : array<string|int, mixed>
Parameters
$entry : array<string|int, mixed>
$baseName : string
$field : Field|Field_Validation
Return values
array<string|int, mixed>

        
On this page

Search results