function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$room_info['room'] = array(
'label' => t('Room'),
'entity class' => 'Entity',
'controller class' => 'DrupalDefaultEntityController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'label' => 'room_number',
'bundle' => 'room_type', // DB上にroom_typeフィールドでバンドルを区別
),
'bundles' => array(
'single_room'=> array(
'label' => 'Single Room',
'admin' => array(
'path' => 'admin/structure/single-room/manage',
),
),
'twin_room'=> array(
'label' => 'Twin Room',
'admin' => array(
'path' => 'admin/structure/twin-room/manage',
),
),
),
'access callback' => 'access_room',
'module' => 'entity_room',
);
return $room_info;
}
/**
* Implements hook_field_extra_fields().
* Field管理にRoomのプロパティ項目を追加(編集不可)
*/
function entity_room_field_extra_fields()
{
$return = array();
// For Single Room Bundle
$return['room']['single_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
// For Twin Room Bundle
$return['room']['twin_room'] = array(
'form' => array(
'room_type' => array(
'label' => t('Room Type'),
'description' => t('The type of the room'),
'weight' => 1,
),
'room_number' => array(
'label' => t('Room Number'),
'description' => t('The number of the room'),
'weight' => 2,
),
),
);
return $return;
}
/**
* Implements hook_menu().
*/
function entity_room_menu()
{
// シングル ルーム 管理画面
$items['admin/structure/single-room/manage'] = array(
'title' => t('Single Room Admin'),
'description' => 'Manage Single Room structure',
'page callback' => 'room_info',
'page arguments' => array('Single Room') ,
'access arguments' => array('administer rooms'),
);
$items['single-room/add'] = array(
'title' => t('Add Single Room'),
'page callback' => 'room_add',
'page arguments' => array('single_room'),
'access arguments' => array('create room'),
);
// ツインルーム管理が画面
$items['admin/structure/twin-room/manage'] = array(
'title' => 'Twin Room Admin',
'description' => 'Manage Twin Room structure',
'page callback' => 'room_info' ,
'page arguments' => array('Twin Room'),
'access arguments' => array('administer rooms'),
);
$items['twin-room/add'] = array(
'title' => t('Add Twin Room'),
'page callback' => 'room_add',
'page arguments' => array('twin_room'),
'access arguments' => array('create room'),
);
// Roomの表示
$items['room/%room'] = array(
'title callback' => 'room_page_title',
'title arguments' => array(1),
'page callback' => 'room_page_view',
'page arguments' => array(1),
'access arguments' => array('view rooms'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_permission().
*/
function entity_room_permission()
{
return array(
'administer rooms' => array(
'title' => t('Administer rooms'),
'restrict access' => TRUE,
),
'create room' => array(
'title' => t('Create room'),
),
'view rooms' => array(
'title' => t('View Rooms'),
)
);
}
/**
* 全員にRoomエンティティの無条件アクセス権限
*/
function access_room(){
return true ;
}
/**
* create "add room" form
*/
function room_add($type) {
$room = (object) array (
'rid' => '',
'room_type' => $type,
'room_number' => '',
);
return drupal_get_form('room_add_form', $room);
}
function room_add_form($form, &$form_state, $room) {
$form['room_type'] = array(
'#type' => 'textfield',
'#title' => t('Room Type'),
'#default_value' => $room->room_type,
'#disabled' => true,
'#required' => TRUE,
);
$form['room_number'] = array(
'#type' => 'textfield',
'#title' => t('Room Number'),
'#required' => TRUE,
);
field_attach_form('room', $room, $form, $form_state);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
return $form;
}
function room_add_form_validate($form, &$form_state) {
$room_submisttion = (object) $form_state['values'];
field_attach_form_validate($form_state['values']['room_type'], $room_submisttion, $form, $form_state);
}
function room_add_form_submit($form, &$form_state) {
$room_submission = (object) $form_state['values'];
field_attach_submit($form_state['values']['room_type'], $room_submission, $form, $form_state);
$room = room_save($room_submission);
$form_state['redirect'] = "room/$room->rid";
}
function room_save(&$room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
function room_info($type) {
return t('Welcome to the administration page for your '.$type.'!');
}
function room_page_title($room){
return $room->room_number."(".$room->room_type.")";
}
function room_page_view($room, $view_mode = 'full'){
$room->content = array();
// Build fields content.
field_attach_prepare_view('room', array($room->rid => $room), $view_mode);
entity_prepare_view('room', array($room->rid => $room));
$room->content += field_attach_view('room', $room, $view_mode);
return $room->content;
}
function room_uri( $room ){
return array(
'path' => 'room/'.$room->rid ,
);
}
class RoomController extends EntityAPIController{
//class RoomController extends DrupalDefaultEntityController{
public function __construct($entityType) {
parent::__construct($entityType);
}
// Entityオブジェクト保存
public function save($room) {
drupal_write_record('room', $room);
field_attach_insert('room', $room);
return $room;
}
}
/**
* hook_menuのURL引数のオブジェクト取得
*/
function room_load($rid = NULL, $reset = FALSE){
$rids = (isset ($rid) ? array($rid) : array());
$room = room_load_multiple($rids, $reset);
return $room ? reset ($room) : FALSE;
}
function room_load_multiple($rids = array(), $conditions = array(), $reset = FALSE){
return entity_load('room', $rids, $conditions, $reset);
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (2.84 KB) | 2.84 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (5.08 KB) | 5.08 KB |
function room_view($room, $view_mode="full") {
drupal_set_title(entity_label('room', $room));
return entity_view('room', array(entity_id('room', $room) => $room), $view_mode);
}
/**
* Implements hook_entity_info().
*/
function entity_room_entity_info()
{
$return = array(
'room' => array(
'label' => t('Room'),
'entity class' => 'RoomEntity',
'label callback' => 'entity_class_label', // see RoomEntity class
'uri callback' => 'entity_class_uri', // see RoomEntity class
'controller class' => 'RoomController',
'base table' => 'room',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'rid',
'bundle' => 'room_type_sys',
),
'bundle keys' => array(
'bundle' => 'room_type_sys',
),
'bundles' => array(),
'load hook' => 'room_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'module' => 'entity_room',
'access callback' => 'entity_room_access',
'extra fields controller class' => 'EntityDefaultExtraFieldsController',
'metadata controller class' => 'RoomEntityMetadataController',
),
);
$return['room_type'] = array(
'label' => t('Room Type'),
'entity class' => 'RoomTypeEntity',
'controller class' => 'RoomTypeController',
'base table' => 'room_type',
'fieldable' => FALSE,
'bundle of' => 'room',
'exportable' => TRUE,
'entity keys' => array(
'id' => 'rtid',
'name' => 'room_type_sys',
'label' => 'room_type_label',
),
'module' => 'entity_room',
'admin ui' => array( // Enable the entity API's admin UI.
'path' => 'admin/structure/room-types',
'file' => 'room_type.admin.inc',
'controller class' => 'RoomTypeUIController',
),
'access callback' => 'entity_room_access',
);
return $return;
}
class RoomEntityMetadataController extends EntityDefaultMetadataController {
public function entityPropertyInfo()
{
$info = parent::entityPropertyInfo();
$info[$this->type]['properties']['rid']=array(
'label' => t('Room ID'),
'type' => 'integer',
'description' => t('Room Entity ID'),
'schema field' => 'rid',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_type_sys']=array(
'label' => t('Room Type Name'),
'type' => 'text',
'description' => t('Room Type Machine Name'),
'schema field' => 'room_type_sys',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_label']=array(
'label' => t('Room Name'),
'type' => 'text',
'description' => t('Room Name'),
'schema field' => 'room_label',
'setter callback' => 'entity_property_verbatim_set',
);
$info[$this->type]['properties']['room_area']=array(
'label' => t('Room Area'),
'type' => 'text',
'description' => t('Room Area Name'),
'schema field' => 'room_area',
'setter callback' => 'entity_property_verbatim_set',
);
return $info;
}
}
| 添付 | サイズ |
|---|---|
| entity_room.zip (6.47 KB) | 6.47 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |
/**
* 追加されたバンドル(RoomType)に拡張フィールド操作URIの追加
* Implements hook_entity_info_alter().
*/
function entity_room_entity_info_alter(&$entity_info)
{
foreach (room_types() as $type => $info) {
$entity_info['room']['bundles'][$type] = array(
'label' => $info->room_type_label,
'admin' => array(
'path' => 'admin/structure/room-types/manage/%room_type',
'real path' => 'admin/structure/room-types/manage/' . $type,
'bundle argument' => 4,
),
);
}
}
// room_type_sys でデータの取得
// room_type入力がなければ、全部のRoomTypeを返す
function room_type_load($room_type=null){
return room_types( $room_type ) ;
}
function room_types( $room_type = null ){
$types = entity_load_multiple_by_name( 'room_type', isset($room_type) ? array($room_type) : false ) ;
return isset( $room_type ) ? reset($types) : $types ;
}
| 添付 | サイズ |
|---|---|
| custom_table_2.zip (1.67 KB) | 1.67 KB |