samsoncms / api
SamsonCMS API 模块
Requires
Requires (Dev)
- phpunit/phpunit: 5.*
This package is not auto-updated.
Last update: 2024-09-20 21:37:30 UTC
README
#SamsonCMS API 模块
SamsonCMS API 用于与材料、字段和结构交互。
##附加字段表 在创建相应的 表结构 并设置其 附加字段 后,您可以获取特定 \samsoncms\api\Material
祖先所需的附加字段表对象(\samsoncms\api\field\Table
)。您需要创建一个扩展生成的附加字段表的类
class MyTable extends \samsoncms\api\MyGeneratedTable { protected $indexView = 'specify a path to index view file'; protected $rowView = 'specify a path to row view file'; } // Creating an instance, with QueryInterface, ViewInterface and Entity identifier $table = new MyTable($query, $this, $material->MaterialID)
此类将包含生成的通用方法,用于检索具有相应字段名的表格列值的集合,例如,如果您有一个名为 age
的附加字段,则会生成 age()
方法来获取所有表格行中的 age
值的集合。
###渲染自定义附加字段表 SamsonCMS 将自动生成所有创建的 表结构 以简化您的代码创建,唯一需要做的事情是扩展这些生成的类并创建输出视图。
请记住,
\samsoncms\api\field\Table
依赖于\samsonframework\core\ViewInterface
实例,并使用它来渲染其视图,因此视图的路径和视图本身应位于此实例中。
###默认索引视图文件 默认情况下,索引视图将所有渲染的行渲染到名为 \samsoncms\api\field\Table::ROWS_VIEW_VAR
- rows
的视图变量中
<div class='my-table'> <h2>Table title<h2> <div class="my-table-rows"> <?php echo $rows ?> </div> </div>
###默认行视图文件 默认情况下,\samsoncms\api\field\Row
祖先视图对象存储在 \samsoncms\api\field\Table::ROW_VIEW_VAR
- row
中
<?php /** @var \myapplication\MyTableRow $row */?> <div class="my-row"> <div class="name"><?php echo $row->field1 ?></div> <div class="name"><?php echo $row->field2 ?></div> <div class="name"><?php echo $row->field3 ?></div> </div>
为生成的
\samsoncms\api\field\Row
祖先提供类型提示,IDE 将帮助输出所需的行数据。
#导航
#材料
添加了创建/更新材料附加字段的方法 public function setFieldByID($fieldID, $value, $locale = DEFAULT_LOCALE)
通过字段标识符在数据库中查找字段记录,并接收其类型以正确存储附加字段值。
#字段 您可以使用提供的方法之一找到附加字段 samsonframework\orm\RecordInterface
对象
- 通过其标识符
\samsoncms\api\Field::byID($query, $identifier, &$return = null)
- 通过其名称
\samsoncms\api\Field::byName($query, $name, &$return = null)
- 通过其名称或标识符
\samsoncms\api\Field::byNameOrID($query, $identifier, &$return = null)
所有这些方法都需要第一个参数 samsonframework\orm\QueryInterface
实例来执行数据库查询。
常规使用示例
/** @var \samsoncms\api\Field $fieldRecord Try to find additional field record */ $fieldRecord = \samsoncms\api\Field::byNameOrID('image') if (isset($fieldRecord)) { // Additional field has been found }
最后一个参数是可选的,应用于创建简单而美观的条件
/** @var \samsoncms\api\Field $fieldRecord Try to find additional field record */ if (\samsoncms\api\Field::byNameOrID('image', $fieldRecord)) { // Additional field has been found }
#字段值