Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
joomla:tatj6 [2026/11/08 14:46] – [Move categories and articles] Bernard Condraujoomla:tatj6 [2026/11/09 14:31] (current) – [Todo] Bernard Condrau
Line 80: Line 80:
   - ''#wiki-content'' formatting   - ''#wiki-content'' formatting
   - Legal documents in German & Thai   - Legal documents in German & Thai
-  - Imprint images +  - Extend FAQ
-  - FAQ Food +
-  - FAQ Drinks and Wine +
-  - Links to FAQ+
   - Template Thai   - Template Thai
   - Template German   - Template German
Line 90: Line 87:
   - Check all spaces of columns which render in one column on phone / tablet   - Check all spaces of columns which render in one column on phone / tablet
   - Check wine vintages   - Check wine vintages
-  - Language switcher: Imprint, Privacy+  - mod_bethico_cookies 
 +  - write a cookie module to route to tablet menu
 ===== Prepare content in SP Page Builder Pro ===== ===== Prepare content in SP Page Builder Pro =====
   - In the SP Page Builder //page// of your //test// site: Create a section to be designed. When it's finished delete all unused elements, then **save** the section.   - In the SP Page Builder //page// of your //test// site: Create a section to be designed. When it's finished delete all unused elements, then **save** the section.
Line 119: Line 117:
     - This forces Joomla to load the framework assets on core component pages, instantly stabilizing the main menu.     - This forces Joomla to load the framework assets on core component pages, instantly stabilizing the main menu.
     - Note that the sequence of CSS files loaded is different from a SP Page Builder page. You might need to change some CSS rules and add ''!important''.     - Note that the sequence of CSS files loaded is different from a SP Page Builder page. You might need to change some CSS rules and add ''!important''.
 +
 +===== Move categories and articles =====
 +I decided to start a new Joomla 6 site with a fresh install and transfer the previous site's categories and articles to the new site. I did not use an extension or tool to do that, so I have full control on what's going on. Previous site: Joomla 4.4.14, new site: Joomla 6.1.4. The following steps are what you need to do. (taken from Chrome query //how can i copy articles and categories from one joomla installation to another//)
 +  - Ensure all the languages used on your previous site are installed, active, and published as **Content Languages**.
 +  - Take a backup of both sites.
 +  - Export Tables: Open //phpMyAdmin// on your old site and export the following tables as SQL files:<code>#__categories
 +#__content
 +#__associations
 +#__workflow_associations
 +#__fields # optional if you use Custom Fields
 +#__tags # optional if you use Tags</code>
 +  - If you have set the user ID to the same ID used on the previous site as explained in [[#prepare_production_site|Prepare production site]] you don't need to do anything. If not, you need to change the ''created_by'' and ''modified_by'' user ID fields in all tables to a new site's valid user ID.
 +  - In ''#__categories'' and ''#__content'' you need to set the ''asset_id'' to 0. You can do this with:<code>UPDATE #__content SET asset_id = 0;
 +UPDATE #__categories SET asset_id = 0;</code>
 +  - Rebuild the Assets & Category Tree. Joomla relies on a "Nested Set" model to track layout hierarchies. Direct database injections disrupt this tree, so you must repair it from the administrator dashboard.
 +    - Log into your Joomla 6 Backend.
 +    - Go to //Content ➔ Categories//.
 +    - Select your categories and click the **Rebuild** button in the top toolbar. (This generates fresh nested assets in the database for the categories).
 +    - Go to //Content ➔ Articles//.
 +    - Change the list view filter at the bottom right to display //All// or //200 items// so all 195 articles fit on a single page.
 +    - Click the master checkbox at the very top of the column to select all 195 articles.
 +    - Click the **Batch** button in the top toolbar.
 +    - In the batch popup menu, under //Set Access Level//, select //Public// (or whatever your default article access level is). Do this even if all articles are already set to //Public//.
 +    - Click **Process**
 +    - Why this works: By executing a batch action on the selected articles, you trick Joomla into running its core save sequence (''Table::store'') on all 195 rows simultaneously. Joomla will look at the ''asset_id'' = 0, realise the permissions mapping is missing, and automatically calculate and inject the correct, matching ''asset_id'' values directly into your Joomla 6 database.
 +  - Transfer the Images. Database tables only hold text and file paths. You must manually copy your media files.
 +    - Connect via FTP or your hosting File Manager.
 +    - Download the ''images'' directory from your Joomla 4 root folder.
 +    - Upload and merge those files into the ''images'' directory of your new Joomla 6 installation.
  
 ===== Move ignite gallery ===== ===== Move ignite gallery =====
Line 128: Line 155:
 #__igallery_img</code> #__igallery_img</code>
   - If you have set the user ID to the same ID used on the previous site as explained in [[#prepare_production_site|Prepare production site]] you don't need to do anything. If not, you need to change the ''user'' ID fields in all tables to a new site's valid user ID.   - If you have set the user ID to the same ID used on the previous site as explained in [[#prepare_production_site|Prepare production site]] you don't need to do anything. If not, you need to change the ''user'' ID fields in all tables to a new site's valid user ID.
-  - Fix the ''asset_id'' in table ''#__igallery_profiles''. To find the correct ''asset_id'' go to the new site and select table ''#__assets'', then run the following SQL command:<code>SELECT * FROM `#__assets` WHERE name LIKE "com_igallery%";</code>+  - Fix the ''asset_id'' in table ''#__igallery_profiles''.\\ To find the correct ''asset_id'' go to the new site and select table ''#__assets'', then run the following SQL command:<code>SELECT * FROM `#__assets` WHERE name LIKE "com_igallery%";</code>
   - Take a note of the ''id'' field where ''name'' is //com_igallery.profile.1//. If you have more than one profile in your site repeat this for all profiles, then insert the found ''id'' into field ''asset_id'' in table ''#__igallery_profiles''.   - Take a note of the ''id'' field where ''name'' is //com_igallery.profile.1//. If you have more than one profile in your site repeat this for all profiles, then insert the found ''id'' into field ''asset_id'' in table ''#__igallery_profiles''.