close ad
Important WebAssist Announcement
open ad
View Menu

Web development tutorial

Adding A Custom Toolbar to PowerCMS

Tutorial created by Lee Firth, Firth Web Works

Categories: Data Bridge, Design Extender, PowerStore, Design, Dreamweaver, MySQL


After you have gone to so much time and effort to define the CSS in a website, sometimes you don’t want the client to have too much control. It detracts from what you are trying to achieve if a whole stack of different font’s are used and clients go nuts with font colors. What I like to do is give them a basic toolbar that will allow them to accomplish what they need to be able to do without detracting from the websites intended design.

arrow downPrerequisites

Before you can complete this tutorial, you should have a working knowledge of adding, editing and deleting records in a MySQL database using a database administration tool of your choice. The screenshots in this tutorial are of Navicat which is commercial software but there are a number of free tools available such as phpMyAdmin or Workbench. The principles outlined in this tutorial will be the same no matter what database administration tool you use.

arrow downSo lets Get Started

Below is the toolbar we will create, a "Client" toolbar.

Step 1: Add The Toolbar Name

1. Add a new toolbar name to the “pcms2_toolbarpresets” table. I have added the toolbar named “Client”. Make a note of the ToolbarID (6 in this case).

Step 2: Define A New Group

2. All the toolbar options are organized into groups. I need to create a new definition group in the table “pcms2_toolbargroups” because the group “format” (ToolbarGroupID 16) contains three options “format”, “font” and “size”. I don’t want the client to be able to change the font so add a new group record to the table called “client format” and make a note of the ToolbarGroupID.

Step 3: Add The Group Options

3. The table “pcms2_toolbargroupdefinition” details what options will be included in this new group. Add two records to the table, using the ToolbarGroupID from the previous step in the GroupDefinitionGroup field and the GroupDefinitionOption ID of 60 (Format*) and 62 (FontSize*) respectively.

* These options are defined in the table “pcms2_toolbaroptions”.

Step 4: Add Groups To The Toolbar

4. Add the records of all the toolbar groups you want to include in the new toolbar to the "pcms2_toolbardefinitions" table. For the field ToolbarDefinitionToolbar you should use the ToolbarID from Step 1. For the ToolbarDefinitionGroup use the ToolbarGroupID’s from Step 2 of all the groups you want to include in the toolbar.

Step 5: Removing An Option From A Group

5. I also want to remove the “Flash” option from the insert menu, to do this open the “pcms2_toolbargroupdefinition” table and search for all records with a GroupDefinitionGroup value of 15 (The “insert” toolbar group) and delete the record with a value of 52 (The “Flash” ToolbarOptionID) in the GroupDefinitionOption field.

Step 6: Change Toolbars in the PowerCMS Backend

You can now go to the PowerCMS backend and select “Client” from the Admin Toolbar and Inline Toolbar drop down lists. And your new "Client" toolbar will display.

Step 7: Add Toolbar to pop up editor and Finish

It would be nice if all editors avaiable to PowerCMS could be set in the administration back end, but that is not the case. No biggy though the popup source editor is controlled in the file WA_CMS.js on line 205. Edit this file and change pcms_toolbars["full"] to pcms_toolbars["Client"], save and you are done.

arrow downReviews and comments

Comments will be sent to the author of this tutorial and may not be answered immediately. For general help from WebAssist, please visit technical support.

Sign in to add comments

kg_nsa395746: 10 Years, 4 Months, 1 Week, 6 Days, 4 Hours, 25 Minutes ago

I realize these directions make perfect sense to you, but to someone who has only an elementary understanding of setting up tables in MySQL, the instructions leave a lot to be desired. It would be much more helpful if your screenshots were of the MySQL interface. I don't know where your screenshots came from but it's nothing even remotely similar to the screens in MySQL.


Lee Firth: 10 Years, 4 Months, 1 Week, 5 Days, 20 Hours, 13 Minutes ago

kg_nsa395746: I’m sorry that you didn’t find this tutorial of any benefit. It was never intended to be “how to” on MySQL management, there are enough of those already interspersed throughout the internet. You do make a valid point however and I should have a “Prerequisites” paragraph at the start of the tutorial stating that some knowledge of adding, editing and deleting records from a MySQL database is required to be able to complete it. I will endeavor to rectify that shortly.


Henrik: 10 Years, 2 Months, 2 Days, 10 Hours, 29 Minutes ago

Good tutorial, thanks! I built my own slightly different toolbar including styles. After some little changes I had to make all worked well. It's a good help to understand how to build your own customized toolbar.

julesN: 9 Years, 9 Months, 1 Week, 6 Days, 5 Hours, 25 Minutes ago

Fantastic tutorial! I was able to sort through what you said and also remove the size of font option as well. That's all styled on stylesheets as well, so I'm really not fond of clients messing that up! :) Thank you!

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question





Ease of use


security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.