Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

osTicket v1.10 (stable) and Maintenance Release v1.9.15 are now available! Go get it now

Creating custom pages - How to use them properly?


i am new to osTicket, so this might not be a clever question: What is the use of creating a custom page?

I would like to know how i could use PHP-code on that custom page. Where is a custom page saved? It has to be somewhere in the database i think...
Is there a tutorial or something for using custom pages? Unfortunately i could not find a "how to" or something similiar.

Thank you very much in advance!


  • Q: What is the use of creating a custom page?
    A: You would have a page that you could refer someone to.  Other wise this feature always seemed to be a little lacking to me.

    Q: I would like to know how i could use PHP-code on that custom page.
    A: You can't.

    Q: Where is a custom page saved?
    A: ost_content

    Q: Is there a tutorial or something for using custom pages?
    A: Nope.

  • Thank you very much for your great answer ntozier!

    Is there another way to build a custom page - using PHP - on your own within osTicket? I am thinking about a page where I could build some custom stuff, like statistics or something else, out of the database.

    I could basically build an ordinary website and use data from the osTicket database, but it would be better to integrate it directly into the osTicket environment. Has anybode ever achieved to do something similar?

  • I think its old and outdated at this point, but take a look at ScottRo's Reporting mod.

    It ought to point you in the right direction at least.  It was last update to work with 1.9.1 which means it will not work with 1.9.4.  But the setup instructions might get you going.
  • Hey,

    thanks for your reply. I am looking for some kind of CMS-functionalities. Basically all i want is a page within osTicket which i am able to style or code freely. I think i will have to create a page that "looks like" the osTicket ui and do my custom stuff there..

    Well i just realize that you are osTicket staff ntozier. Wow. What a great support is this? I am impressed!

    So i think i can ask u for help for what i am really trying to do:
    I would like to implement some kind of algorithm, that tells the agent, which ticket he or she should solve next. I know that i can add custom priorities to my tickets. but unfortunately that is not enough. The system should be able to priorize the tickets for specific agents. Is there a chance that i can achieve this with osTicket?

    Thank you very much in advance!
  • Thanks. :)

    There is really no mechanism for achieving that in osT currently.
    Staff generally have to rely on the ticket sorting tools (date and priority) on the open queue to figure out what to work on next.  Generally speaking we use a simple flow:

    Always work on the highest priority ticket first, if there is more than one the same priority work from the oldest ticket to the newest.  Then the next priority (oldest to newest) and so forth.

    We use help topics with priorities, so our "I need to install my printer" type tickets are usually low priority.  Where as Internet outages are High.  Multi site Internet outages would be and/or server outages would be Emergency.  Everything else is pretty much "Normal".  So you might want to think about what the priorities will mean for you, how you want to organize your tickets and prioritize your work flow.

  • Hey,

    thank you for your detailed answer again.
    Can you tell me if there is a way to implement my own priority algorithm for the tickets? Basically i would like to enrich the tickets with some custom fields and later i would like to priorize them by these new fields later. Where and what would i have to begin with? I mean, there must be some sort of "SQL-statement" that picks the ticket from the database and shows them to the agent. Is there a chance to manipulate that statement to my needs.

    Thanks in advance!
  • There is no way to do what your asking in the UI currently.
    You would have to modify the core files (PHP).
  • Hi,

    i know now that i have to modify the core. I would like to know where i have to start or which PHP-files i should have a closer look at. I am not afraid of doing that, since i am not completely new to PHP or web development.

    Thank you!
  • I have never tried to do that, so really I have no idea.
    But this ticket thread is about making a better ticket list... and would probably be where I would start:
  • I'll take a closer look at it!
  • Well, is there some kind of development guide or a software documentation, which helps new developers to get along in the project?
  • There is sadly no such beast.
    There is an unofficial guide to writing plugins which was written and is maintained by a community member.
    Development is done on github.
  • Hey guys,

    i have managed to create a custom page by somehow re-engineering the knowledge base page. I copied it and and changed it to my needs. I have a new tab in the menu now and so on. It was a little bit of coding but the code is actually very good i think, so it was straight-forward. Basically that was exactly what i wanted from the beginning. My new page is doing some AJAX-stuff and contains some forms and so on. All in all it works quite well ;)

    Thanks for all your help so far!
  • Nice to hear!

    Would you mind sharing your efforts here in case others want to do something similar?
  • Yes, I will write a small summary on the basic steps i did soon. Should i post it right here into this forum post or is there a better place?
  • Here is fine.  And if you want I can include it in the FAQ that I maintain.
  • Ok. I am not absolutely sure if my solution is technically "correct". But in fact it works out very well for me. As i said, i'll post it later. Very busy at the moment.. Sorry
  • Great thanks! :)
  • Hello folks,

    as promised, this is a short guide to create a custom page within osTicket, that worked very well for me.

    I wanted a page embedded in the system, where i could to whatever i like to. So I did the following:

    My "custom page" should have a tab like the overview page or the knowledge base page in the backend. So basically I cloned the knowledge base page to get started. Therefore i duplicated the kb.php file found in /scp/.
    Let's call the clone "customPage.php". In this file I deleted everything but the PHP-require commands and changed the line with
    $inc=''; to
    The wil contain the code of your page. The has to be placed in /include/staff.
    The menu-tab for your new page has to be created in the file class.nav.php located in /include.
    I modified the getTabs() function by adding a new tab to the tabs array. Your new entry could look like:

    $this->tabs['customPage'] = array('desc'=>__('CustomPage'),'href'=>'customPage.php','title'=>__('CustomPage'));

    By doing that, you create a new menu-tab, linked to your custom Page. If you want to create sub-menus, you would have to add them in the getSubMenus() function. Just in case you would want sub-menus as well.

    That's it! Now you have a page where you can code whatever you look, directly embedded in your osTicket-System.

    I hope this might help some of you!

  • ^ Brilliant. Bookmarked.
  • Excellent! Thanks.
  • Hello to all.

    I tried the steps from frZ but there was no new tab in the menu. did i miss something ?

    @frZ What is meant with i deleted all but ..?  do you mean you deleted the code and left all code snippets with the PHP-require word ?

    Do you have a template for an empty website ? (can i just code a html webpage and include it in the php file ?)

    The Version i have is 1.10.0

    Thanks for your help guys.

    Kind regards


  • @KlausRenz this thread is from 2014.  Please start your own thread if you having issues.  Killing zombie thread with a head shot.
This discussion has been closed.