This is an old revision of the document!


Bethico for Joomla 4

Guides

Installation

  • Install Joomla 4.0.3 without quickstart
  • Install Helix Ultimate 2.0.5 without quickstart
  • Copy template part of Helix Ultimate to Bethico template
  • Copy modified files over from Joomla 3.10 installation and make necessary adjustments, which include adaptions to Helix Ultimate 2.0.5 and Bootstrap 5:
    index.php
    headers/style3/header.php
    features/footer.php
    css/custom.css
    js/custom.js
  • Note: I dropped the flexibility to change color theme in Helix Ultimate, as my site's content such as images, logos, etc. depend on the color scheme anyway. It makes it easier to manage, if you have access to custom.css and custom.js. I also added more css variables to make it easier to maintain should I need to change the color theme in the future.
  • Make the correct settings in HelixUltimate back-end including footer, etc.
  • Publish the menu module in position offcanvas and select the layout of the offcanvas menu in HelixUltimate.
  • Install SP Page Builder 3.8.2 Free or Pro and make the following changes:
    1. com_sppagebuilder/layouts/row/start.php: set variable $video_loop to always 'loop' to allow looped videos on the site. You could also rename the file and override it in html/layouts/com_sppagebuilder/row/start.php.
  • For looping videos you need to modify file com_sppagebuilder/layouts/row/start.php and make sure variable $video_loop is always set to 'loop'
  • Put the modified file into your template's html/layouts/com_sppagebuilder/row folder, then rename the original file to something like start-disabled.php as SP Page Builder does not allow the override
  • Clone the php layout files to modify SP Page Builder layout which cannot be overridden, then rename the original php file. You need to repeat the rename after upgrade of SP Page Builder component.
    from: /components/com_sppagebuilder/layouts/row/start.php (rename after cloning)
    to: /template/bethico/layouts/com_sppagebuilder/row/start.php
  • Install Akeeba 9.0.8 for Joomla 4 and enter the download ID
  • Disable the SEF plugin which messes with urls generated by jQuery File Upload
  • Install and enable the BethicoSEF plugin which allows to exclude the site urls for jQuery File Upload
  • Setup multilingual site
  1. Install languages
  2. Create new main menu and assign language to new menu, then assign English to the original main menu
  3. Use the same aliases for each menu entry between languages and connect them through Language associations
  4. You will need to create a hidden or unused main menu and assign a default page for all languages there
  5. Create and assign content for the different languages
  6. Go to Site Template Styles and copy the template
  7. Go to Template Options for each language and assign the corresponding menu
  8. Enable the Language Filter Plugin
  9. Enable Bethico Language Switcher
  10. Set the Native Titles in Content Languages, omit (United Kingdom) or (Deutschland) behind the language name
  11. Make sure the Offcanvas menu for all languages has Layout set to Default in parameter fieldset Advanced
  12. Note that in SP Page Builder Pro 3.8.0, language selection for a page is done by clicking icon Publishing on the left side of the window of Edit Page
  13. Make sure the language menus are all enabled in the Menu Assignment of the template
  14. Associations should be hidden in (global) Options → Articles
  • Set login and logout redirects in menu Login to Internal URL as Menu Item does not work. Use override of login template which adds option to return to referrer page.
  • Enable ReCaptcha invisible plugin
  • Change the password length required in Options → Users in the back-end
  • SP Page Builder Content tricks
  • Define background image and video in section, then save it with video active. This will make sure the background image is shown when javascript is disabled, instead of a white area where the video should show.
  • Disable plugin System - WebAuthn Passwordless Login

Development

  • If a namespace changes during development, for example in the xml file, then you need to adjust the namespace in file /administrator/cache/autoload_psr4.php

CORS - CSRF