diff --git a/boot.php b/boot.php index e871952..3ebb0cf 100644 --- a/boot.php +++ b/boot.php @@ -21,7 +21,11 @@ if (rex_addon::get('yform')->isAvailable() && !rex::isSafeMode()) { rex_yform_manager_dataset::setModelClass( 'rex_blaupause', - Blaupause::class + Entry::class + ); + rex_yform_manager_dataset::setModelClass( + 'rex_blaupause_category', + Category::class ); } */ @@ -94,6 +98,7 @@ /* Listendarstellung verändern if (rex::isBackend()) { - rex_extension::register('YFORM_DATA_LIST', Blaupause::epYformDataList(...)); + rex_extension::register('YFORM_DATA_LIST', Entry::epYformDataList(...)); + rex_extension::register('YFORM_DATA_LIST', Category::epYformDataList(...)); } */ diff --git a/install/table-scheme.php b/install/table-scheme.php new file mode 100644 index 0000000..b3d9bbc --- /dev/null +++ b/install/table-scheme.php @@ -0,0 +1 @@ +getValue('name'); + } + + public static function epYformDataList(rex_extension_point $ep) + { + /** @var rex_yform_manager_table $table */ + $table = $ep->getParam('table'); + if ($table->getTableName() !== self::table()->getTableName()) { + return; + } + + /** @var rex_yform_list $list */ + $list = $ep->getSubject(); + + $list->setColumnFormat( + 'name', + 'custom', + static function ($a) { + $_csrf_key = self::table()->getCSRFKey(); + $token = rex_csrf_token::factory($_csrf_key)->getUrlParams(); + + $params = []; + $params['table_name'] = self::table()->getTableName(); + $params['rex_yform_manager_popup'] = '0'; + $params['_csrf_token'] = $token['_csrf_token']; + $params['data_id'] = $a['list']->getValue('id'); + $params['func'] = 'edit'; + + return '' . $a['value'] . ''; + }, + ); + $list->setColumnFormat( + 'id', + 'custom', + static function ($a) { + return $a['value']; + }, + ); + } +}