siv1987 2,623 10/28/2020 05:28 PM Камрады, кто знает можно ли таблице типа \IPS\Helpers\Table\Db сделать пользовательскую сортировку элементов на подобие нодов? Share this post Link to post
newbie 1,721 10/29/2020 03:59 AM Теоритически можно. Если не особо принципиально, как будет сделано, то я бы добавил кнопку для сортировки + метод с формой, где использовал \IPS\Helpers\Form\Sort 1 1 Share this post Link to post
siv1987 2,623 10/29/2020 10:45 AM С таблицой наверное только так. Либо Table заменить на \IPS\Helpers\Tree\Tree Share this post Link to post
siv1987 2,623 10/29/2020 11:01 PM Сделал два варианта - с Table и Tree, посмотрим какой больше зайдет. $tree = new \IPS\Helpers\Tree\Tree( $url, \IPS\Member::loggedIn()->language()->addToStack( 'menu__smsverification_gateways_manage' ), /* Get Roots */ function() use ( $url ) { $rows = array(); foreach( \IPS\Db::i()->select( '*', 'smsverification_gateways', null, 'position ASC' ) as $row ) { $url = $url->setQueryString( [ 'id' => $row['id'] ] ); $rows[ $row['id'] ] = \IPS\Theme::i()->getTemplate( 'trees', 'core' )->row( $url, $row['id'], \IPS\Member::loggedIn()->language()->addToStack( 'smsgateway_'.$row['gateway'] ), FALSE, array( 'edit' => array( 'icon' => 'pencil', 'title' => 'edit', 'link' => $url->setQueryString( array( 'do' => 'edit' ) ), 'data' => array( 'ipDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('edit') ), ), 'delete' => array( 'icon' => 'times-circle', 'title' => 'delete', 'link' => $url->setQueryString( array( 'do' => 'delete' ) ), 'data' => array( 'delete' => '' ) ), ), null, null, $row['position'], NULL, TRUE ); } return $rows; }, /* Get Row */ function( ) { }, /* Get Row's Parent ID */ function() { return NULL; }, /* Get Children */ function( $key ) { return NULL; }, /* Get Root Buttons */ function() { return array( 'add' => array( 'icon' => 'plus', 'title' => 'smsverify_new_gateway', 'link' => \IPS\Http\Url::internal( "app=smsverification&module=gateways&controller=manage&do=add" ), 'data' => array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('smsverify_new_gateway_title') ) ), ); }, FALSE, TRUE, TRUE ); Share this post Link to post