Skip to content

009 Adding Admin Views to a Component

Amigo edited this page Jun 6, 2019 · 16 revisions

ADDING ADMIN VIEWS TO A COMPONENT

We've looked at setting up admin views and creating fields for admin views. We've looked at setting up field types and how to use field types to create fields. Now we'll look at setting the admin views to the component and all that can be done to the component. 00:00:28 First we will look at adding the admin views to a component. Go to components, sermon distributor, and settings. There you will see admin views. 00:00:59

Sermon Component Setting as Example

To connect admin views to your component go to settings and open this button here. (See video.) Select an option and click 'next'. Do the next one. If you have a lot of admin views, type in the name of the admin view. 00:01:33

Adding Views Setting Icons

Type in the name 'Sermon'. These icons here which have been mentioned previously, are the icons from Joomla called Joomla Standard Icomoon Fonts. (See video.) 00:02:02 If you select an icon here, 'Joomla', it will show you that icon (see video) but only during the selection face. That is the icon that is going to be used for the view in the right. Look at the icon (top right) as we click through component builder; it gets updated. 00:02:24

Settings Switch Admin Menu

This icon is what is being set here. (See video.) You can select the icons to reflect the admin view of your choice. We have a bunch of switches here that we'll look at one at a time. 'Admin menu' is the menu. 00:02:49 Do you want that view to show up next to your main view? That will be the first tick box, yes.

Settings Switch Dashboard Items

Do you want to have an 'add record' icon for this view? If you go to the dashboard it is this icon 'Add Admin View'. 00:03:10 It is a shortcut to create an admin view from the dashboard. Say 'yes' and a 'Dashboard (list of records)' icon will show. If you don't want this 'Admin View' icon, just add 'admin view' and tick that 'Dashboard(add record)' as 'no'. 00:03:35

Settings Switch Submenu

If you've opened your view it has a submenu here that can collapse away. You can add this view to the submenu or not.

Settings Switch Auto Check-in

Auto check-in is a tweak that I've added to my Joomla components. (I'm possibly going to make a pull request to add it to Joomla.) 00:03:59 Auto check-in adds a feature to your component. 00:04:28 It checks whether this item had been checked out longer than a set period; if it happened to be so, it checks it automatically. The set period is something that the administrator sets in the global settings of the component. 00:04:57 You can add auto check-in to a view by either saying 'yes' or 'no'.

Settings Switch Keep History

Keeping history of a back end view. The History Component is one of the most exciting things that I have integrated. It keeps track of every change you make in any article or item in your application.

  • Example

If I go 00:05:33 to preacher open 'A Capella Music' you'd see the 'version' button at the top. I type in [email protected], set 'Some text here' and clicked 'save'. If I click on 'version', you'll see that it now locked a new version. 00:06:13 I could take the one I'm on currently and keep it. It would lock it in because you can also set the amount of history the system should keep. The default changes. I can click on the previous version and say restore and it will be restored it. As you can see, Email address and description is gone. To go back to the one that has been done just click on 'version' and 'restore' and the details are back again. 00:06:52 History Component is a Joomla extension which you're able to integrate into your own components as a component developer. 00:07:14

Settings Switch MetaData

Then depending on whether you going to use this views information on the front end as your main base for your 00:14:23 page. You might want to add Metadata. The metadata isn't that useful anymore, although google and others are maybe ignoring it. It still plays a role to making a page very search engine optimized. Component builder if you do your homework and you do things right 00:14:51 in relationship to implementation of your metadata, you'd see that it actually adds tremendous good features to do the front end of your site. I would suggest that you add Metadata when you are going to use a specific area to the front and when we start looking at setting up the site views you'll see this coming up again and the necessity of using it. Obviously you'll be remodeling the data because you can get relationship from many databases. 00:15:26 You need the area in the back end to get the data.

Settings Switch Access

Then this access switch might throw you out. This simply adds the following feature. If you open an article, and open publishing, it says 'dropdown', 'access public' ect. Which is relating to your user 00:15:52 access levels. As you know user access levels can target multiple groups into one user access level. This again is only a feature that will be extremely useful when you look at the front end of your component. In the back end you can also make use of it. You can change the access of a specific item but since we also have such intense permissional switches, I hardly ever make use of it but it's there and I mostly use it for the front end when I want to set an item not to be accessible to the front.

Settings Switch Export/Import

Then when you do want to add to import/export function. This is a 00:16:38 extended area which component builder dynamically just adds. You don't need to do anything in relation to scripting at this stage. You could just click 'yes' or 'no' to import/export feature at the top of the page of every view. Every view will have an import/export function. At the moment it's a direct relationship import/export. If you export this then you'd see the the way it should look to do a import 00:17:13 and if the import is really nice you can map the headers to their specific database tables. Obviously there's work needed especially when you're dealing with information that was encrypted. If you export it, it will decrypt it, if you have the permissions to access that item of course, but the problem is because it has been decrypted when you have imported it, it doesn't know that it should encrypt it. There is a little discrepancy with the advance storing methods. As long as you are having a data back end database table that doesn't require these advance storing methods, it's just your normal defaults like I explained before. Seemingly the import/export method will then works without any problems. I'm still working on this area but it is already working well enough to leave it in there for now. 00:18:07 That is the switch here'Export/Import data' and if you don't like the feature just click 'no'.

Settings Switch Edit - Create - Site Views

Then here is a feature which I think I'm most excited about. That is that every back end view has of course a edit area. If you've selected that read write option in the edit area you can change the values of that back end listview. The admin create site view means that the system is going to dynamically build 00:18:42 the front area which you can access to edit the data at the front of the website. That is an excellent tool. It takes exactly this(see video) if I was to use this and as an example. It takes this editing area and place it on the front of your website. 00:19:13 You are controlling in the permissional structures who has access to edit this, who has access to edit the status, who has access to edit specific fields. We looked at adding the fields to your admin views and you could click whether this field should have permissional structure. That means that if you have those things set up in the back in the global permissional tab, then it will be implemented in the front if a certain user is in the correct group. 00:19:44 They won't be able to access this then if they have access. They don't have the right to, for example to update maybe the modified date or the status then in the front. They also will not be able to do that. You have immense control over who can do what. But at the same time you have the ability to actually edit items on the front. I think that is excellent to be able to do that. That all of that is possible by just saying, 'yes'. But realize this, the fact that it creates the 00:20:19 view, if I could says so and places it on the front, doesn't mean that there is a link somewhere to it. That is something you need to add to your site front custom site as you develop it. This is partly a feature therefore which if you don't know PHP and if you're not that familiar with how to setup your links on the front of the component, would possibly find this difficult to implement. We will be looking at what it can build. 00:20:54 I have a component in which I'm using that feature quite a lot. It's called 'costbenefitprojection'. Looking in the back end we look at the views, we have here one called 'company' and we have one called 'scaling' factor and 'intervention'.

Now these are 'editing views' as you can see and the other 'list views'. If I go to the front of the website 00:21:28 and I open that component and click on view, you will see there is: company, intervention and scaling factors. They are basically being extended here. What the component builder does, it adds this view, and the module for it. I also add the controller for it. It puts all the script in place so that all you need to do is, for example: Inside the 00:22:00 area called 'cpanel'. Looking at this component briefly. This is just some dummy data that I placed in here. Here you can open multiple items and you can click on 'edit advanced profile' and it will open the editing area. 00:22:37 This is the front end editing area, as you can see there are all the tabs. Let me show you the back end. Here's the back end area. Its showing up the same information in the front. It only dumps the permission and publishing features. That is because of access permissions is done automatically 00:23:10<<<<<<Editted

Because that front-end user didn't have permissions to edit most of the things in here. You didn't have the right to edit any of these. Therefore it didn't need to see it and so the system just remove that tab, same goes with the permissions. If you didn't have the right to do scaling factors on interventions, you also have dumped that, it won't show it up in the front.

And so this is the back end of that same dummy company that I've set up. You can see that it 00:23:42 moved it to the front. Not only did it make it possible to edit data, but also to create new companies. If you click on that(create company) you will see it opens up in the area for you to start fresh. You can create a company from scratch. In this specific example you will see that it cannot add a user. So what the system has done through some custom scripting that I've added, if you click save it adds his ID in here(user(member)-select a user). And he doesn't need to select that(user(member)-select a user). That's just a quick look at 00:24:19 that specific button called edit create site view. It adds the whole code base to the front. And integrates it to the way that the front needs to be able to control the permissions.

Then the order of the items are simply the way in which it will be displayed anywhere. If we think about the order for a moment here of example component builder, 00:24:48 the order of which these icons are laid out and even if you opened one of them, the order in which this is done And also for the sub menu, all of that is controlled with this order number here. That's a quick look at adding admin views to your component. I hope that is insightful enough for you to understand how to do that. If you have any questions please you're welcome to send me a mail.

Clone this wiki locally