<< Back
Message for this thread
Posted by Messages text
Ramon Rank

Noavatar
Total post : 10
> Profile
Written on : 29/06/2006 13:06 ( more than one month )
Object : Tittle Tag - Meta Tags

In Docebo CMS it is possible to change page title via CMS Modul. In Docebo LMS this is not possible.

How can we change page titles and include meta-tags to the pages ?

Thanks for assistance

 
Fabio Pirovano

Avatar
Total post : 538
> Profile
Written on : 30/08/2006 09:47 ( more than one month )
Object : Re: Tittle Tag - Meta Tags
You can operate on the header.php, in the templates/ folder, but is a little more complicated than the cms, for the next version we are thinking a more praticise way for template manipulation

Hi
    Fabio 
Docebo Staff

 - Docebo 4 released! -
 
Jim Barrington

Noavatar
Total post : 11
> Profile
Written on : 19/09/2006 16:19 ( more than one month )
Object : Re: Tittle Tag - Meta Tags

You can operate on the header.php, in the templates/ folder, but is a little more complicated than the cms, for the next version we are thinking a more praticise way for template manipulation

Hi
    Fabio 

 

I have posted this question before but it seems to have got lost when the forums were merged so I will ask it gain.

 I followed all the above instructions but in header.php I can only find this code which relates to the page title:
$GLOBALS['page']->add(
        ''.$GLOBALS['title_page'].''."\n",
        'page_head');

 Where can the actual text for the page title and meta tags, keywords etc be changed and which files/database tables need to be edited for the LMS? How does the LMS get the page titles and which files / database fields does it draw them from?

 



 

Message modified by : dataferret on : 19/09/2006 16:20
 
Fabio Pirovano

Avatar
Total post : 538
> Profile
Written on : 19/09/2006 18:17 ( more than one month )
Object : Re: Tittle Tag - Meta Tags

For the lms the header structure of the page is managed by this

doceboCore/lib/lib.page_writer.php

that contain a class that perform a page cache subdivided in zone, search for this:
class StdPageWriter extends PageWriter

but you can write in every moment in every zone defned by this  class, for example the code:

$GLOBALS['page']->add(
        'My learning'."\n",
        'page_head');

add the string passed between the head tag, the other zone of the page are header,menu,menu_lat,content and footer. So if you want to add keyword and other things such as:

My learning
<meta name="keywords" content="the keyword" />
<meta name="description" content="descriptions">

you can write in doceboLms/templates/header.php the following

$GLOBALS['page']->add(
        '
My learning
        <meta name="keywords" content="the keyword" />
        <meta name="description" content="descriptions">'."\n",
        'page_head');

Ciao
    Fabio 

Docebo Staff

 - Docebo 4 released! -
 
Jim Barrington

Noavatar
Total post : 11
> Profile
Written on : 19/09/2006 20:44 ( more than one month )
Object : Re: Tittle Tag - Meta Tags
Thanks for the very clear explanation Fabio. I applied your suggestions and it work a treat 100%.

One thing which does come to mind is where a user (like me) changes the lib.pagewriter code in the core and then when it comes time to upgrade, these changes are lost because the customised file is overwritten.

Perhaps there is a way to allow users to make changes but leave the core intact by having an extra directory in each section for files which have been customised. Then somehow teach the system to look at the custom version of the file first and load this.

Psuedo code:
Call the include for lib.pagewriter.php
insert an if clause to check if an over-ride file exists in the custom folder - if it does then load this
execute the include for the custom file
insert the else clause so if the over-ride file does not exist the default file is loaded instead
execute the default include instead

This way all the customised versions of the system are kept in one place and when it comes time to upgrade, the user can upload the upgrade, find their changed files, compare the code and bring them in line with the most recent codebase. It will make upgrades simpler and all the custom code is kept in one place, making it easier to restore them once changes have been applied, and making it simpler to keep track of what has been customised.

Just a suggestion - I would love to know what you think about this

Jim
 
Fabio Pirovano

Avatar
Total post : 538
> Profile
Written on : 19/09/2006 21:07 ( more than one month )
Object : Re: Tittle Tag - Meta Tags
It's a thing that work but only with the file of the template, for example if you create this two file
doceboLms/templates/standard/header.php
doceboLms/templates/standard/footer.php
the system use these instead of the header and footer in doceboLms/templates/ so the personalized file can be maintained through the various 3.0.x
doing the same thing for all the file is a little hard, possible solution:
  • doing this think but only for some specific file
  • create a  more customizable and independent template system, but this work only for layout and html mod. ( this solution is already in roadmap )
  • using SVN or CVS for release the updates. We use svn as internal tool in development process, and we are preparing an anonymous account for who want download a version with the svn (that automatically merge the modification of the new version with the user personalization)
Ciao
    Fabio
Docebo Staff

 - Docebo 4 released! -
 
Jim Barrington

Noavatar
Total post : 11
> Profile
Written on : 19/09/2006 23:37 ( more than one month )
Object : Re: Tittle Tag - Meta Tags
Hi Fabio

The SVN with auto-merge would be a neat solution. Another way to do this would be to add a "custom" directory into each of the top level folders for Core, KMS, LMS, CMS and SCS.  This would allow user admins to clone the directory structure of each of the folders. Any file within any folder or subfolder inside the "custom" directory would be classed as an over-ride file by the system.

Then have a  subroutine as I described above which looks to see if the over-ride file exists in the custom directory and if not it uses the default one. So it requires adding 4 new folders in total and the user can create a copy of the folders for any file they wish to customise (or you could have them created already but empty of custom files).

I don't know your code well enough to say how simple this would be to code but judging by what I have seen from your coding style, you would know better than me anyway. At least it is a good idea in theory. Hope you can make use of it.

Jim
 
Salgado Santiago

Noavatar
Total post : 1
> Profile
Written on : 10/03/2008 07:51 ( more than one month )
Object : Re: Tittle Tag - Meta Tags
If you just need to change your Page Title, i made it changing this

$GLOBALS['title_page'] = 'DoceboLMS '.$GLOBALS['framework']['core_version'];
to somothing like
$GLOBALS['title_page'] = 'My Page title ;

This tag can be find inside each Docebo folder inside "setting.php" file.....
At least worked for me!

Santiago
Message modified by : salgaito on : 10/03/2008 08:30
 
<< Back