How do I add new top level menus and submenus to existing menus? How do I link static pages to the menus? Thanks!
@johnadam241993,
I am having difficulty of finding which files to modify. I looked almost everywhere to find templates or css files to modify the layout etc too but no luck. I shall appreciate it very much if you could point me in the right direction.
Paul
Hi @Paul_Chen,
Is this the readerâs view of the journal, or the editorial back-end?
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @Paul_Chen,
Try templates/frontend/components/primaryNavMenu.tpl
. If changes to that file arenât reflected when you view the journal, make sure your file permissions in cache/t_compile
permit OJS to make changes to its contents.
Regards,
Alec Smecher
Public Knowledge Project Team
Thanks. I will try that. By the way, where can I find templates for other pages, e.g., home page, article display, etc?
Paul
Hi @Paul_Chen
In OJS 3.0, the reader front-end is entirely implemented in templates/frontend
â the structural elements are in pages
, and you can see how those bring in additional elements (mostly in objects
) by following the includes from there.
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @asmecher,
I am looking at headerhead.tpl. There is line â{load_stylesheet context=âfrontendâ stylesheets=$stylesheets}â. Where is the values for this $stylesheets variable stored? Same questions for loading javascripts. I think I saw it somewhere but again how do I load additional scripts? Should I just place the additional scripts in a designated folder? Thanks.
Hi @Paul_Chen,
Both stylesheets and javascripts are managed using functions in the PKPTemplateManager
class. See the addJavaScript
and addStyleSheet
functions there (both the implementation and several cases of usage).
Regards
Alec Smecher
Public Knowledge Project Team
I would like to add Ahead of print in the main navigation bar. I found the file and created copies of folders and file in the child theme. From my new menu item I need to point to specific issue (number 16) from archives (which serves as an Ahead of print issue).
I use this code:
<a href="{url router=$smarty.const.ROUTE_PAGE page="issue" op="view/16"}">
{translate key="navigation.aheadofprint"}
</a>
</li>
<li>
But this doesent work, as the slash is not transcribed as / in URL, so I end up with:
http//âŠindex.php/jhsci/issue/view%252F16
which gives 404 page.
How to create a proper URL for issue?
How to create an URL for static page?
What file to modify to make a new translation key for new menu items?
Lot of questions from me
Best regards,
Dijana
Hi,
You need:
<a href="{url router=$smarty.const.ROUTE_PAGE page="issue" op="view" path="16"}">
URL to a static page
<a href="{url router=$smarty.const.ROUTE_PAGE page="pagepath"}">
Custom translation strings you could handle via a themeplugin. If you want to use the default theme, create a childtheme where you add your own translations and also the custom navigation bar.
Hi @ajnyga,
Works like a charm. Thanks a lot!
Regards,
Dijana
Hi!
I added to templates/frontend/components/primaryNavMenu.tpl the lines
<li>
<a href="{url router=$smarty.const.ROUTE_PAGE page="referee-guidelines"}">
{translate key="Referee Guidelines"}
</a>
</li>
However now in main navigation menu I have ##Referee Guidelines## displayed.
How can I remove ## ?
Also how can I add the link to the static page to sidebar menu? Is it possible to add to Information block an additional element For Referees, or have I use Custom Block Manager?
Thanks!
Hi @novikoffav,
Normally youâd use {translate key="some.symbolic.name
}, then add a locale key called some.symbolic.name
to the locale file containing the actual translated text.
Itâs not best practice, but the simplest thing to do is not to call {translate}
at all, just to place Referee Guidelines
in the template directly. Thatâs simpler, but obviously itâll be fixed in a single language.
Regards,
Alec Smecher
Public Knowledge Project Team
The simple way is to add a new static page by using the static page plugin and edit
- â\locale\en_US\local.xmlâ add something like <'message key=âmessagesâ '>Messages â<â/message '>" under â<â!-- Navigation -->"
- â\templates\frontend\components\primaryNavMenu.tplâ add something like '<âli>
<âa href="{url router=$smarty.const.ROUTE_PAGE page=âmessagesâ}">
{translate key=âmessagesâ}
<â/a>
<â/li> before the last <'ul>
Note: messages means the path of the page and Messages is the menu item. remove the â from html elements if you are doing copy pasting.
For me it is hard to believe that the developers have done such a great job but missed out something crucial as this. Do you think its is possible to develop a MENU PLUGIN for OJS 3?
I managed to create multiple menu items, as
-
â\locale\en_US\local.xmlâ add something like this below all codes before closing
</locale>
. This need to be added one for each menu and in all languages supported by the journalEditorial Board
Associate Editors
â\templates\frontend\components\primaryNavMenu.tplâ add something like before before the last close listing . We need to create one like this for each Menu Items
<li><a href="{url router=$smarty.const.ROUTE_PAGE page="EditorialBoard"}">
{translate key="extra.menu.item1"}
</a>
</li>
<li><a href="{url router=$smarty.const.ROUTE_PAGE page="AssociateEditors"}">
{translate key="extra.menu.item1"}
</a>
</li>
The page=âAssociateEditorsâ the PATH name of the created static page.
I also realised that you can add pages as sub section of ABOUT menu as, but it will display it like http://ojs.dotaca.com/index.php/KJSC/index
<li>
<a href="{url router=$smarty.const.ROUTE_PAGE page="about" page="EditorialBoard"}">
{translate key="about.EditorialBoard"}
</a>
This functionality is scheduled for 3.1 (May):
I suggest to integrate this WP open source menu , might be life saving
Greetings,
I wanted to add a menu item / to go to journals home page which helps users from single journal page to go back to multiple journal/index page. i have a problem with the path : i used page = âindexSiteâ but the link includes the single journal page : index.php/ehkj/indexSite this gives 404 not found , while the required page is : index.php or index.php/indexSite
Back to portal page is your naked domain
If you journal is https://journals.example.com/index.php/j#1
then your portal will be https://journals.example.com