Hiển thị các bài đăng có nhãn joomla5. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn joomla5. Hiển thị tất cả bài đăng

Thứ Ba, 23 tháng 6, 2026

Upgrade j4 to j5 error JMapTable::_getNode(1, id) failed SOLVED

Phát hiện lỗi: khi upgrade joomla 4 lên joomla 5, lưu article xuất hiện lỗi

Save failed with the following error: Joomla\Component\Finder\Administrator\Table\MapTable::_getNode(1, id) failed. 

 Giải pháp: sử dụng phpmyadmin INSERT INTO `#_finder_taxonomy` (`id`, `parent_id`, `title`, `state`, `access`, `lft`, `rgt`) VALUES (1, 0, 'ROOT', 1, 1, 0, 1);

 Nguyên nhân table #_finder_taxonomy thiếu 1 record không có dữ liệu ROOT

 


 


Thứ Ba, 24 tháng 2, 2026

Joomla5 upgrade com_weblinks install


 

 
 
Description: com_weblinks joomla 5 miss
Solution: administrator, system, extenstion, Install from web (filter 'weblinks' + 'All versions')
Install normal 

Thứ Hai, 23 tháng 2, 2026

Upgrade joomla 3.8 to J5 MB_OVERLOAD_STRING - SOLVED

 

Detail: joomla 3.8 PHP 7.4, run PHP 8.x error MB_OVERLOAD_STRING


Solution: uprgade joomla 3. 8 to joomla 3.10 (compatible PHP8.x)

Step upgrade: upgrade 3.10 to 4.x, 4.x to 5.x (all compatible PHP 8.x)

Thứ Sáu, 6 tháng 2, 2026

Joomla5 pagination miss style - Easy solution - SOLVED


Add custom style to css 

/*pagination*/
ul.pagination {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}
ul.pagination li {
    display: inline-block;
    margin: 5px;
}
.icon-angle-double-left::after {
    content: 'Start';
}
.icon-angle-left::after {
    content: 'Prev';
}
.icon-angle-right::after {
    content: 'Next';
}
.icon-angle-double-right::after {
    content: 'End';

Thứ Tư, 29 tháng 10, 2025

Joomla5 PHP version error mysqli extenstion not available - SOLVED




Joomla 5, goddady PHP 8.4 
Error: install site not work, check site local SUCCESS, upload goddady error. Configuration 'debug=true' view error
Step check:
1. Change PHP version: 8.1, 8.2, 8.3, 8.4. (may be each version PHP sett extension different)
2. Try PHP 8.4. CPANEL PHP select option check box 'mysqli'

Thứ Năm, 18 tháng 9, 2025

joomla5 Duplicate entry '2-479' for key 'PRIMARY'

Detail: open article save error, save again SUCCESS

Save 1: view error  Duplicate entry '2-479' for key 'PRIMARY'

Save 2: SUCCESS 

This relate table #_finder_links_terms và #_finder_terms. User phpmyadmin empty (clean records)

SOLVED 


 

Thứ Sáu, 29 tháng 8, 2025

joomla5 contact error 0-Content

Joomla5 live site

Local contact good work 
Upload to live host contact 0- content, debug:
Call to undefined method : Joomla\Plugin\System\Schemaorg\Extension\Schemaorg->onBeforeCompileHead

Check PHP version 8.3, 8.2, 8.1 the same issue.
Message focus Schemaorg plugin, search via internet not relate.
Try in luck: admin>configuration TURN OFF SEF url, then TURN ON again. 

Not sure why, may be relate configuration file when upgrade j4 to j5. 





Thứ Bảy, 9 tháng 8, 2025

Joomla5 module custom COM_MEDIA_ERROR_MISSING_DIR SOLVED

Error: add new module type 'Custom', error COM_MEDIA_ERROR_MISSING_DIR  
Solution: Admin system, plugins 'FileSystem - Local', disable/enable 

 



Thứ Tư, 12 tháng 3, 2025

J5 Article Save error Invalid parent ID


Detail: Joomla article, open article edit, -> Save failed with the following error: Invalid parent ID.
Solution: check 'Category', open and re-save category, check catetory parent


 

Thứ Tư, 26 tháng 2, 2025

Joomla 4,5: FRONTEND article Image upload miss style layout

Solution1 :
1. add custom css (below): some case template css j4,j5 not add Modal style -> upload layout style broken

Solution 2:
2. If use JCE : admin>component> JCE Profile > Default - Add group inside ( register)

May be require 2 solution the same my issue


CSS:

/*Modal*/
.modal {
  --modal-zindex: 1050;
  --modal-width: 500px;
  --modal-padding: 1rem;
  --modal-margin: 0.5rem;
  --modal-color: ;
  --modal-bg: var(--body-bg);
  --modal-border-color: var(--border-color-translucent);
  --modal-border-width: var(--border-width);
  --modal-border-radius: var(--border-radius-lg);
  --modal-box-shadow: var(--box-shadow-sm);
  --modal-inner-border-radius: calc(var(--border-radius-lg) - (var(--border-width)));
  --modal-header-padding-x: 1rem;
  --modal-header-padding-y: 1rem;
  --modal-header-padding: 1rem 1rem;
  --modal-header-border-color: var(--border-color);
  --modal-header-border-width: var(--border-width);
  --modal-title-line-height: 1.5;
  --modal-footer-gap: 0.5rem;
  --modal-footer-bg: ;
  --modal-footer-border-color: var(--border-color);
  --modal-footer-border-width: var(--border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    -webkit-transition: none;
    transition: none;
  }
}
.modal.show .modal-dialog {
  -webkit-transform: none;
          transform: none;
}
.modal.modal-static .modal-dialog {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: calc(100% - var(--modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  color: var(--modal-color);
  pointer-events: auto;
  background-color: var(--modal-bg);
  background-clip: padding-box;
  border: var(--modal-border-width) solid var(--modal-border-color);
  border-radius: var(--modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --backdrop-zindex: 1040;
  --backdrop-bg: hsl(0, 0%, 0%);
  --backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--backdrop-opacity);
}

.modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: var(--modal-header-padding);
  border-bottom: var(--modal-header-border-width) solid var(--modal-header-border-color);
  border-top-left-radius: var(--modal-inner-border-radius);
  border-top-right-radius: var(--modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--modal-header-padding-y) * 0.5) calc(var(--modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--modal-header-padding-y)) calc(-0.5 * var(--modal-header-padding-x)) calc(-0.5 * var(--modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--modal-title-line-height);
}

.modal-body {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: var(--modal-padding);
}

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: calc(var(--modal-padding) - var(--modal-footer-gap) * 0.5);
  background-color: var(--modal-footer-bg);
  border-top: var(--modal-footer-border-width) solid var(--modal-footer-border-color);
  border-bottom-right-radius: var(--modal-inner-border-radius);
  border-bottom-left-radius: var(--modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --modal-margin: 1.75rem;
    --modal-box-shadow: var(--box-shadow);
  }
  .modal-dialog {
    max-width: var(--modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}



Joomla 4,5: FRONT END article Image & Link missing


Solution: Admin>Configuration > Article > tab Edit Layout -> turn on 'Frontend Images and Links'

 

Thứ Bảy, 7 tháng 9, 2024

Joomla5, joomla 4 use groups 342 groups work slow and save failed - SOLVED

Detail: Usergroup have many groups 342, article not save, config not save
Reason: PHP.ini max_input_vars 1000, require increase to 2000 or more
Solution: CPANEL -> MultiPHP INI Editor ->max_input_vars set 2000 or more

 





Thứ Năm, 5 tháng 9, 2024

joomla 5 wanring RuntimeException: Could not connect to statistics server


Solution: administrator > System> Global configuration> tab System> turn off 'Debug'



 

Thứ Ba, 13 tháng 8, 2024

Joomla 5 - disable update extentions, components, packaged - SOLVED

Detail: disable notes upgrade from extension
Solution:
1. administrator/index.php?option=com_installer&view=updatesites
Disable items
2. administrator/index.php?option=com_installer&view=update
Run 'Check for update' button for refesh notice




 

Thứ Sáu, 9 tháng 8, 2024

Joomla5- php 8.1 error Attempted to load class "DOMDocument" - SOLVED


Detail: PHP 7.3 SUCCESS, PHP 8.1 + 8.2 error "DOMDocument"
Error: php 8.1 Attempted to load class "DOMDocument" from the global namespace.Did you forget a "use" statement?

Solution: CPANEL goto PHP Selector > extension check XML package checked all

 


Thứ Hai, 29 tháng 7, 2024

J5 menu item login the first page You don't have permission to access - SOLVED

Detail:
danger
You don't have permission to access this. Please contact a website administrator if this is incorrect.

Menu item > login. The first page warning
Module login not warning
-
Solution:
Administrator>menu login > tab options > login redirect : specify exactly value example 'index.php?Itemid=101'

 


Chủ Nhật, 28 tháng 7, 2024

joomla 5 Class "JResponse" not found - SOLVED

Change
JResponse::getHeaders();
JResponse::getBody()
to
JFactory::getApplication()->getHeaders();
JFactory::getApplication()->getBody();

 



 

Manual mysql import Categories,Artiles, Menu joomla 3.10.12 to joomla 5.1.2 - SOLVED

PHPMyAdmin, manual mysql import Categories,Artiles, Menu joomla 3.10.12 to joomla 5.1.2

Backup each before do anything
1. J3 export table _categories, _content, _menu:

_categories export type extension = 'com_content' only
_content export all data
_menu export menutype='mainmenu' or require menu only, not export all
2. J5 Import _categories, _content, _menu : 

 _categories remove all extension = 'com_content', then import from j3
_content add column 'xreference' varchar 50 null, import all. Then remove column 'xreference'
_menu remove menutype='mainmenu', import from j3


ISSUES MUST COUNTER: #_ is prefix table


1. J5 BACK END + FRONT END article not view, not access: reason j5 require table __workflow_associations
Run this query:
INSERT INTO #_workflow_associations (item_id, stage_id, extension)
SELECT c.id as item_id, '1', 'com_content.article' FROM #_content AS c
WHERE NOT EXISTS (SELECT wa.item_id FROM #_workflow_associations AS wa WHERE wa.item_id = c.id);


2. J5 FRONT END article not view: reason j5 _content have `publish_down`. set null is allow view
UPDATE `#_content` SET `publish_down`=null;
-

3. J5 FRONT END 'Category not found':  this relate table _assests, but we use administrator>Articles>Categoryies -> Rebuild
This will update _asset, -> category blog view



4. J5 Front End main menu links wrong article,category blog link: reason J5 table _menu require 'component_id', must set component_id to article component
UPDATE `#_menu` SET `component_id`=MUST_GET_COMPONENT_ID WHERE menutype = 'mainmenu'

 



5. Reset #_menu template_style_id:

#_menu set template_style_id=0

Thứ Hai, 22 tháng 7, 2024

Joomla5 JString not found


Detail: upgrade j3 to j5 JString not found
Solution: Change to
use Joomla\String\StringHelper;
JString->StringHelper




Joomla5 JArrayHelper not found


Detail: upgrade j3 to j5, error view JArrayHelper not found
Solution: add user ArrayHelper and replace
Replace
JArrayHelper
To
/*at top file PHP*/
use Joomla\Utilities\ArrayHelper;
ArrayHelper