TABS created in hooks/tablename.php file

Discussions related to customizing hooks. Hooks are documented at http://bigprof.com/appgini/help/advanced-topics/hooks/
Post Reply
User avatar
ronwill
Veteran Member
Posts: 228
Joined: 2015-08-08 10:12
Location: Cheltenham UK +Weatherford USA

TABS created in hooks/tablename.php file

Post by ronwill » 2022-06-23 23:54

When creating a detailed view with TABS ie with code like:

Code: Select all

	function products_dv($selectedID, $memberInfo, &$html, &$args) {
	/* if this is the print preview, don't modify the detail view */
		if(isset($_REQUEST['dvprint_x']))return;
		
		ob_start(); ?>
		
		<div id="form-tabs">
		<ul class="nav nav-tabs">
		<li class="active"><a href="#tab1-info" data-toggle="tab"><big>Product </big></a></li>
		<li><a href="#tab2-info" data-toggle="tab"><big>Details</big></a></li>
		<li><a href="#tab3-info" data-toggle="tab"><big>Options</big></a></li>
<!--		<li><a href="#tab4-info" data-toggle="tab"><big>Admin</big></a></li> -->
		</ul>
		
		<ul class="tab-content">
		   <div class="tab-pane active form-horizontal"  id="tab1-info"></div>
		   <div class="tab-pane form-horizontal"  id="tab2-info"></div>
		   <div class="tab-pane form-horizontal" id="tab3-info"></div>	
		   <div class="tab-pane form-horizontal" id="tab4-info"></div>	
		   </ul>
		</div>
		   
		   <style>
		   #form-tabs .nav-tabs a{display: block !important;}
		   </style>
Is it possible to have a selected TAB (i.e. in this example #tab4-info / Admin) and its contents, only visible to the Admin group?
Cheers,
Ron
Ron - Gloucestershire, UK: AppGini Pro V 23.15 Rev 1484 - LOVING IT!
Plugins: Mass Update + Search Page Maker + Summary Reports + Calendar + Messages
Bizzworxx: AppGiniHelper + Inline Detail View
Alejandro Landini: To-Do List + MPI + TV Field Editor
Other: Udemy Course

User avatar
ronwill
Veteran Member
Posts: 228
Joined: 2015-08-08 10:12
Location: Cheltenham UK +Weatherford USA

Re: TABS created in hooks/tablename.php file

Post by ronwill » 2022-10-02 12:07

I've still not found a solution to this, anyone have any pointers/ideas
cheers
Ron - Gloucestershire, UK: AppGini Pro V 23.15 Rev 1484 - LOVING IT!
Plugins: Mass Update + Search Page Maker + Summary Reports + Calendar + Messages
Bizzworxx: AppGiniHelper + Inline Detail View
Alejandro Landini: To-Do List + MPI + TV Field Editor
Other: Udemy Course

pbottcher
AppGini Super Hero
AppGini Super Hero
Posts: 1635
Joined: 2018-04-01 10:12

Re: TABS created in hooks/tablename.php file

Post by pbottcher » 2022-10-02 12:40

Hi,

you can try something like this.

Code: Select all

$html.='
		<div id="form-tabs">
		<ul class="nav nav-tabs">
		<li class="active"><a href="#tab1-info" data-toggle="tab"><big>Product </big></a></li>
		<li><a href="#tab2-info" data-toggle="tab"><big>Details</big></a></li>
		<li><a href="#tab3-info" data-toggle="tab"><big>Options</big></a></li>';
		   if ($memberInfo['group']='Admins') {
			$html.='<li><a href="#tab4-info" data-toggle="tab"><big>Admin</big></a></li>';
		   }
		   $html.='</ul>
		
		<ul class="tab-content">
		   <div class="tab-pane active form-horizontal"  id="tab1-info"></div>
		   <div class="tab-pane form-horizontal"  id="tab2-info"></div>
		   <div class="tab-pane form-horizontal" id="tab3-info"></div>';
		   if ($memberInfo['group']='Admins') {
			$html.='<div class="tab-pane form-horizontal" id="tab4-info"></div>	';
		   }
		   $html.='
		   </ul>
		</div>
		   
		   <style>
		   #form-tabs .nav-tabs a{display: block !important;}
		   </style>
		';
Any help offered comes with the best of intentions. Use it at your own risk. In any case, please make a backup of your existing environment before applying any changes.

User avatar
ronwill
Veteran Member
Posts: 228
Joined: 2015-08-08 10:12
Location: Cheltenham UK +Weatherford USA

Re: TABS created in hooks/tablename.php file

Post by ronwill » 2022-10-02 16:52

Tried the code but it shows like this on page:
result1.jpg
result1.jpg (14.49 KiB) Viewed 1240 times

Code: Select all

	function products_dv($selectedID, $memberInfo, &$html, &$args) {
	/* if this is the print preview, don't modify the detail view */
		if(isset($_REQUEST['dvprint_x']))return;
		
		ob_start(); ?>
		
$html.='
		<div id="form-tabs">
		<ul class="nav nav-tabs">
		<li class="active"><a href="#tab1-info" data-toggle="tab"><big>Product </big></a></li>
		<li><a href="#tab2-info" data-toggle="tab"><big>Details</big></a></li>
		<li><a href="#tab3-info" data-toggle="tab"><big>Options</big></a></li>';
		   if ($memberInfo['group']='Admins') {
			$html.='<li><a href="#tab4-info" data-toggle="tab"><big>Admin</big></a></li>';
		   }
		   $html.='</ul>
		
		<ul class="tab-content">
		   <div class="tab-pane active form-horizontal"  id="tab1-info"></div>
		   <div class="tab-pane form-horizontal"  id="tab2-info"></div>
		   <div class="tab-pane form-horizontal" id="tab3-info"></div>';
		   if ($memberInfo['group']='Admins') {
			$html.='<div class="tab-pane form-horizontal" id="tab4-info"></div>	';
		   }
		   $html.='
		   </ul>
		</div>
		   
		   <style>
		   #form-tabs .nav-tabs a{display: block !important;}
		   </style>
		';
		   
		   <style>
		   #form-tabs .nav-tabs a{display: block !important;}
		   </style>

		<script>
		$j(function(){
			$j('#form-tabs').appendTo('#products_dv_form');
 
			/*Field to move the welcome info tab1*/
			$j('#id').parents('.form-group').appendTo('#tab1-info');

			$j('#product').parents('.form-group').appendTo('#tab1-info');
			$j('#price').parents('.form-group').appendTo('#tab1-info');
			$j('#shop_item').parents('.form-group').appendTo('#tab1-info');		

			/*Field to move the client info tab2*/
			$j('#list_price').parents('.form-group').appendTo('#tab2-info');
			$j('#description').parents('.form-group').appendTo('#tab2-info');
			$j('#tag').parents('.form-group').appendTo('#tab2-info');
			$j('#options_0').parents('.form-group').appendTo('#tab2-info');
			
			/*Field to move to tab3*/
			$j('#tag_product').parents('.form-group').appendTo('#tab3-info');
			$j('#tag').parents('.form-group').appendTo('#tab3-info');
			$j('#option_note').parents('.form-group').appendTo('#tab3-info');
			$j('#options_1').parents('.form-group').appendTo('#tab3-info');
			$j('#options_2').parents('.form-group').appendTo('#tab3-info');
			$j('#options_3').parents('.form-group').appendTo('#tab3-info');			

			/*Field to move to tab4*/
			$j('#disc_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#discount').parents('.form-group').appendTo('#tab4-info');
			$j('#disc_percent').parents('.form-group').appendTo('#tab4-info');
			$j('#disc_val_item').parents('.form-group').appendTo('#tab4-info');
			$j('#del_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#delivery').parents('.form-group').appendTo('#tab4-info');
			$j('#options_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#option_1_price').parents('.form-group').appendTo('#tab4-info');
			$j('#option_2_price').parents('.form-group').appendTo('#tab4-info');
			$j('#option_3_price').parents('.form-group').appendTo('#tab4-info');
			$j('#sum_options_item').parents('.form-group').appendTo('#tab4-info');
			$j('#instal_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#installation').parents('.form-group').appendTo('#tab4-info');
			$j('#tax_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#tax').parents('.form-group').appendTo('#tab4-info');
			$j('#tax_val_item').parents('.form-group').appendTo('#tab4-info');
			$j('#sum_item_notax').parents('.form-group').appendTo('#tab4-info');
			$j('#sum_per_item').parents('.form-group').appendTo('#tab4-info');
			$j('#added_by').parents('.form-group').appendTo('#tab4-info');
			$j('#added_on').parents('.form-group').appendTo('#tab4-info');
			$j('#updated_on').parents('.form-group').appendTo('#tab4-info');


 
			
			})
		</script>

		<?php 
		$tabs = ob_get_contents();
		ob_end_clean();
	
		$html .= $tabs;
	}
Ron - Gloucestershire, UK: AppGini Pro V 23.15 Rev 1484 - LOVING IT!
Plugins: Mass Update + Search Page Maker + Summary Reports + Calendar + Messages
Bizzworxx: AppGiniHelper + Inline Detail View
Alejandro Landini: To-Do List + MPI + TV Field Editor
Other: Udemy Course

pbottcher
AppGini Super Hero
AppGini Super Hero
Posts: 1635
Joined: 2018-04-01 10:12

Re: TABS created in hooks/tablename.php file

Post by pbottcher » 2022-10-02 18:23

remove the line

Code: Select all

ob_start(); ?>
and the lines

Code: Select all

		<?php 
		$tabs = ob_get_contents();
		ob_end_clean();
	
		$html .= $tabs;
Any help offered comes with the best of intentions. Use it at your own risk. In any case, please make a backup of your existing environment before applying any changes.

User avatar
ronwill
Veteran Member
Posts: 228
Joined: 2015-08-08 10:12
Location: Cheltenham UK +Weatherford USA

Re: TABS created in hooks/tablename.php file

Post by ronwill » 2022-10-02 22:07

When I do that the TABS disappear and only the content of last tab (Admin) shows, also content shows on Admin and other group logins (regardless of group signing in).
Ron - Gloucestershire, UK: AppGini Pro V 23.15 Rev 1484 - LOVING IT!
Plugins: Mass Update + Search Page Maker + Summary Reports + Calendar + Messages
Bizzworxx: AppGiniHelper + Inline Detail View
Alejandro Landini: To-Do List + MPI + TV Field Editor
Other: Udemy Course

User avatar
ronwill
Veteran Member
Posts: 228
Joined: 2015-08-08 10:12
Location: Cheltenham UK +Weatherford USA

Re: TABS created in hooks/tablename.php file

Post by ronwill » 2022-10-02 23:21

Hi,

Got it working with code as below. Works for the three signup groups - (could probably be tidied up but works)
Cheers,
Ron

Code: Select all

	function products_dv($selectedID, $memberInfo, &$html, &$args) {
	/* if this is the print preview, don't modify the detail view */
		if(isset($_REQUEST['dvprint_x']))return;
		ob_start(); 
		
		if ($memberInfo['group'] == 'Admins'){		
?>		
		<div id="form-tabs">
		<ul class="nav nav-tabs">
		<li class="active"><a href="#tab1-info" data-toggle="tab"><big>Product </big></a></li>
		<li><a href="#tab2-info" data-toggle="tab"><big>Details</big></a></li>
		<li><a href="#tab3-info" data-toggle="tab"><big>Options</big></a></li>
		<li><a href="#tab4-info" data-toggle="tab"><big>Admin</big></a></li>
		</ul>
		<?php 
		}
		
		if ($memberInfo['group'] == 'Customers'){		
?>		
		<div id="form-tabs">
		<ul class="nav nav-tabs">
		<li class="active"><a href="#tab1-info" data-toggle="tab"><big>Product </big></a></li>
		<li><a href="#tab2-info" data-toggle="tab"><big>Details</big></a></li>
		<li><a href="#tab3-info" data-toggle="tab"><big>Options</big></a></li>
		</ul>
		<?php 
		}
		
		if ($memberInfo['group'] == 'anonymous'){		
?>		
		<div id="form-tabs">
		<ul class="nav nav-tabs">
		<li class="active"><a href="#tab1-info" data-toggle="tab"><big>Guests </big></a></li>
		<li><a href="#tab2-info" data-toggle="tab"><big>Info</big></a></li>
		</ul>
		<?php 
		}
?>

		<ul class="tab-content">
		   <div class="tab-pane active form-horizontal"  id="tab1-info"></div>
		   <div class="tab-pane form-horizontal"  id="tab2-info"></div>
		   <div class="tab-pane form-horizontal" id="tab3-info"></div>	
		   <div class="tab-pane form-horizontal" id="tab4-info"></div>	
		   </ul>
		</div>
		   
		   <style>
		   #form-tabs .nav-tabs a{display: block !important;}
		   </style>

		<script>
		$j(function(){
			$j('#form-tabs').appendTo('#products_dv_form');
 
			/*Field to move the welcome info tab1*/
			$j('#id').parents('.form-group').appendTo('#tab1-info');

			$j('#product').parents('.form-group').appendTo('#tab1-info');
			$j('#price').parents('.form-group').appendTo('#tab1-info');
			$j('#shop_item').parents('.form-group').appendTo('#tab1-info');		

			/*Field to move the client info tab2*/
			$j('#list_price').parents('.form-group').appendTo('#tab2-info');
			$j('#description').parents('.form-group').appendTo('#tab2-info');
			$j('#tag').parents('.form-group').appendTo('#tab2-info');
			$j('#options_0').parents('.form-group').appendTo('#tab2-info');
			
			/*Field to move to tab3*/
			$j('#tag_product').parents('.form-group').appendTo('#tab3-info');
			$j('#tag').parents('.form-group').appendTo('#tab3-info');
			$j('#option_note').parents('.form-group').appendTo('#tab3-info');
			$j('#options_1').parents('.form-group').appendTo('#tab3-info');
			$j('#options_2').parents('.form-group').appendTo('#tab3-info');
			$j('#options_3').parents('.form-group').appendTo('#tab3-info');			

			/*Field to move to tab4*/
			$j('#disc_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#discount').parents('.form-group').appendTo('#tab4-info');
			$j('#disc_percent').parents('.form-group').appendTo('#tab4-info');
			$j('#disc_val_item').parents('.form-group').appendTo('#tab4-info');
			$j('#del_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#delivery').parents('.form-group').appendTo('#tab4-info');
			$j('#options_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#option_1_price').parents('.form-group').appendTo('#tab4-info');
			$j('#option_2_price').parents('.form-group').appendTo('#tab4-info');
			$j('#option_3_price').parents('.form-group').appendTo('#tab4-info');
			$j('#sum_options_item').parents('.form-group').appendTo('#tab4-info');
			$j('#instal_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#installation').parents('.form-group').appendTo('#tab4-info');
			$j('#tax_apply').parents('.form-group').appendTo('#tab4-info');
			$j('#tax').parents('.form-group').appendTo('#tab4-info');
			$j('#tax_val_item').parents('.form-group').appendTo('#tab4-info');
			$j('#sum_item_notax').parents('.form-group').appendTo('#tab4-info');
			$j('#sum_per_item').parents('.form-group').appendTo('#tab4-info');
			$j('#added_by').parents('.form-group').appendTo('#tab4-info');
			$j('#added_on').parents('.form-group').appendTo('#tab4-info');
			$j('#updated_on').parents('.form-group').appendTo('#tab4-info');


 
			
			})
		</script>

		<?php 
		$tabs = ob_get_contents();
		ob_end_clean();
	
		$html .= $tabs;
	}
Ron - Gloucestershire, UK: AppGini Pro V 23.15 Rev 1484 - LOVING IT!
Plugins: Mass Update + Search Page Maker + Summary Reports + Calendar + Messages
Bizzworxx: AppGiniHelper + Inline Detail View
Alejandro Landini: To-Do List + MPI + TV Field Editor
Other: Udemy Course

Post Reply