Translations and configurations
Translations (texting, repeating things across the web, or texting that doesn't fit elsewhere) - phone, e-mail, headings of different sections, texts for social networks, texts of some sections, etc. we can put into translations. These are then available across the site in a variable $web - We access them using their unique ID which we choose in the administration, or through a plugin directly in phpstorm. Some translatioas re already prepared, it's a good idea to try to look up their ID in the superadministration for some texts, so we don't have a translation10 times. For example PHONE, MAIL, DEFAULT_TITLE (site name) etc... we can already find in the admin.
When creating a translation, we fill in its unique ID, name (clients can see it from the classic administration - configuration -> language mutations), group (it is grouped according to it again within the administration for clients, so that it can be seen what belongs to what and it is not all scattered), value, format (longer text with the possibility of more lines = textarea, headings, etc. texts on one line = input) and note.

In the superadministration, we have configurations that cannot be translated (they have only 1 language), for example different api keys, links to facebook, instagram etc. Within the code, we then merge the Configuration and Translations together into one field - the $web variable. The priority is the translation, so if there is a PHONE configuration and a PHONE translation, it should take the translation as priority - from the configurations we already have for example FACEBOOK, INSTAGRAM, YOUTUBE,
Guide for translations plugin
Menu items (menuitems)
Most things on the site are dynamic - listings of partners, blog articles, listing of zigzag items on the about us page for example, etc. So we can't and don't want this data in translations. By clicking on the top menu - menu items, we can add any items and set them to which "Menu" they fall into - e.g. blog article, blog section, main menu, footer, zigzag, etc. This works as a sort of group of menu items, which makes it easy to pull out only the ones that fall into it and display them somewhere, for example. At the same time, in presenter, we can say that if the current item falls under the "blog article" menu, for example, a specific template for the blog article will be loaded.

Each menu item has a unique ID within the database - we can see it in the url - for example /admin/menuitem/251, as well as all detailed settings, image types, etc. We can see this for example in the superadmin when we click on edit menu for example we always see the id of the item at the bottom left of the url (before clicking). In the basePresenter we then set the keys that allow us to access the item by id, in the menuRepository we then set the ids of the supplements.

Data that is related to specific items and is not available elsewhere (caption, title, page content, etc.) should ideally be stored there. For each item we have its name, menu type, checkbox supplements, perex, content and then other supplements in the detailed settings (all supplements, menus, images, etc. that are offered here can be added simply via the superadministration). We can also attach galleries, files, related items, etc. All this is automatically fed into the php presenter.
If we need to set an image for a menu item, whether it is for example dynamic listings or an image in the introduction section we can upload it in the right column. If we need specific dimensions - for example, for the preview and then the dropdown, we can again define a new image type via superadmin. Most of the time, however, the existing ones are enough (for example, the Menu Item Image has 3 dimensions, which is usually enough, but the question is whether to create a new one because of unnecessarily large dimensions - for example, the author usually has only 100x100 pixels or less, while the smallest Menu Item Image is 400x300).
Download
here we can upload files that we can then attach to the menu item - at the bottom of the settings. This is primarily a listing of the various downloadable files for the item (e.g. manuals, etc.)
We set the file name and we can also set the group, then the files will be grouped in the right column.

Photogallery
here we can upload photogalleries, which we can then attach to the menu item - at the bottom of the settings.
We can set a name and group for the file, then the files will be grouped in the right column. This is a similar setup to the downloads, here we first create a photo gallery and then upload the photos to it.


We can also change the order of photos, captions, visibility and basic gallery data.