Since v4.0, some visual elements are displayed through layouts, allowing template overrides. These layouts are created for:
- the blog views category index (
- the blog views tag index (
- the blog views search/clear fields (
- the modals (
- the blog views print icon (
- the views and module item's details (
- the views and module item's details for Joomla 3.7+ custom fields (
- the views and module item's details for K2 extra fields (
- the heads of type video (
- v4.12 the blog views author index (
- v5.1 the blog view custom field index (
- v6.0 the blog views display number (
- v6.5 the title detail (
- v6.5 the text detail (
- v6.5 the list views columns sort arrows (
You can find the layouts under
As best practice, it is recommended to create overrides of those files rather than update them. That way, the next component update won't dismiss the changes you have made.
BEFORE creating layout overrides
Overrides are NOT updated when you perform an extension update. As such, they can soon become out of sync with the extension. You are not getting new features, bug fixes, security updates... Therefore every time you update an extension you should make sure you check those overrides and keep them up-to-date. So, before you create an override, make sure:
- the changes you need cannot just be accommodated with CSS
- the Bootstrap compatibility of the extension is properly set (in the advanced tab, set the Bootstrap compatibility parameter to match your template's)
Creating layout overrides
Go to the
layouts section of your template's
Create overrides tab, select the
com_latestnewsenhancedpro extension and then click on the desired layout folder (find detailed explanations about the content of those folders below).
Go back to the Editor tab. You will find the layout overrides under
Holds the modal and icons layouts.
lnepicons.phpshows the icon selection (print, edit)
lnepmodal.phphas the code to show the modals
The module and the component views share the modals layout. Any override made will be used throughout.
Holds all information details (defaults, custom fields and K2 extra fields).
lnep_detail_ago.phpoutputs date as X days ago/in
lnep_detail_agohm.phpoutputs date as X days or X minutes... ago/in
lnep_detail_agomhd.phpoutputs date as X days and X minutes... ago/in
lnep_detail_author.phpoutputs the author
lnep_detail_category.phpoutputs the category
lnep_detail_date.phpoutputs the flat-out date
lnep_detail_hits.phpoutputs the number of hits
lnep_detail_jcommentscount.phpoutputs the number of comments from jcomments
lnep_detail_jfield_calendar.phpoutputs custom fields of calendar type
lnep_detail_jfield_editor.phpoutputs custom fields of editor type
lnep_detail_jfield_generic.phpoutputs custom fields that have no specific layout
lnep_detail_jfield_textarea.phpoutputs custom fields of textarea type
lnep_detail_jfield_url.phpoutputs custom fields of url type
lnep_detail_k2commentscount.phpoutputs K2 comments count
lnep_detail_k2field_date.phpoutputs K2 date field
lnep_detail_k2field_generic.phpoutputs K2 fields that have no specific layout
lnep_detail_k2field_link.phpoutputs K2 link field
lnep_detail_k2field_multipleselect.phpoutputs K2 multiple select field
lnep_detail_k2field_radio.phpoutputs K2 radio field
lnep_detail_k2field_select.phpoutputs K2 select field
lnep_detail_k2field_textarea.phpoutputs K2 textarea field
lnep_detail_keywords.phpoutputs meta keywords
lnep_detail_linksabc.phpoutputs links A, B and C
lnep_detail_rating.phpoutputs the article rating
lnep_detail_readmore.phpoutputs a readmore link
lnep_detail_share.phpoutputs share links (Facebook...)
lnep_detail_title.phpoutputs the item title (as specified in the list views only)
lnep_detail_time.phpoutputs the flat-out time
lnep_detail_text.phpoutputs the item's text (as specified in the list views only)
The lnep_detail_share layout now calls sub-layouts for all share buttons.
When creating a new share button, you need to add a new sub-layout to the
/details/lnep_detail_share folder (you may need to create those folders) of your template. To know what the sub-layout's code must be, just copy one of the extension's available sub-layouts.
Third party custom fields
You can specify which third party custom fields you want to make available in the extension as detailed information. Go to the Shared options tab of the global configuration of the extension.
The fields will not show in the extension's outputs unless you add specific layout overrides for them. In the
/details folder, add the layout
lnep_detail_jfield_[field plugin element name].php, which will represent the field type. It is easier to just copy one of the other detail layouts, renamed and modified.
Holds all video types that represent the head of an item.
lnep_head_video_dailymotion.phpoutputs DailyMotion videos
lnep_head_video_facebookvideo.phpoutputs Facebook videos
lnep_head_video_html5video.phpoutputs HTML5 videos
lnep_head_video_vimeo.phpoutputs Vimeo videos
lnep_head_video_youtube.phpoutputs YouTube videos
Contains all the pagination-related layouts (filters and search).
lnepauthorindex.phpoutputs the author index
lnepcategoryindex.phpoutputs the category index
lnepcolumnsort.phpoutputs arrows for table headers (list view only)
lnepdisplay.phpoutputs the display number select box
lnepk2authorindex.phpoutputs the author index for K2
lnepk2categoryindex.phpoutputs the category index for K2
lnepk2tagindex.phpoutputs the tag index for K2
lneplistfield.phpoutputs the custom field index of list, checkboxes or radio type
lnepsearch.phpoutputs the search field
lneptagindex.phpoutputs the tag index
v5.1 The new custom field index layout (
lneplistfield.php) allows you to use any custom field of list type as index for the articles. In the event you do not use a label, an invisible label is still required for accessibility purposes. The label is present in the layout but requires that you translate it by creating a language override for the key
COM_LATESTNEWSENHANCEDPRO_FILTERFIELD_[field name]. Create a key for every custom field you are using as index filter.
AFTER creating layout overrides
Modify the files at your will. They will have precedence over the extension's files. Therefore, if you want to go back to the original outputs, you should delete the overrides that you have created.
Tip When clicking on a folder, all layouts are copied over to the
/html/layouts/com_latestnewsenhancedpro template folder. This happens even if you just want to only change one layout. Only keep the layouts overrides that need modifications. Delete all other layouts. This will help you down the road for maintenance (you will know that the files present have been modified for sure).
The layout suffix
You can use different overrides of the same layout for index and information details. Just set the advanced parameter Layout suffix. By doing so, you are giving priority to the layouts that will contain that suffix in the name of the override.
For instance, you can override
lnepcategoryindex.php but also have another menu item using a slightly different output. Just add the layout suffix (for example 'xyz') in the menu item's advanced parameters to give priority to the override