View Issue Details

IDProjectCategoryView StatusLast Update
0004769OXID eShop (all versions)2.4. Administer productspublic2023-11-17 13:11
Reporterleofonic Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status confirmedResolutionopen 
Product Version4.7.1 / 5.0.1 revision 52468 
Summary0004769: Languages in different frames in admin do not match after copying
DescriptionIf you copy an article into another language or change the language via the dropdown at the bottom of the bottom frame, languages in top-frame (list) and bottom frame (element) get disconnected. This is not a refresh problem, it stays this way even if you move around in admin, change from articles to categories etc.
Steps To ReproduceFor example if you start in german, create an article, copy this article to english. Now your top frame is german, and your bottom frame is english. If you create a new article in this state, it gets created in english, although there is no sign of english anywhere.
Additional InformationSecond case when languages are not connected is by viewing an article that is not yet translated. In this case, bottom frame is also different language than top frame but not permanently. This is also confusing, if an article does "not exist" in a certain language, why is it diplayed in the top list then? Also an article cannot be deleted in one language only.

Imho top and bottom frame languages should always match, and not yet translated articles should be shown as empty (like in top list) with the possibility to copy from a language (instead of to a language).
TagsLanguages, Products
ThemeNot defined
BrowserAll
PHP VersionNot defined
Database VersionNot defined

Activities

aurimas.gladutis

2012-12-04 13:20

reporter   ~0008052

Last edited: 2012-12-04 13:23

Hi, we have checked this place and we see that it does not work correctly.
However, this place requires architectural change of languages handling in admin.

As of quick fix for this you can change out/admin/tpl/start.tpl reloadEditFrame to:
function reloadEditFrame()
{
    if (top.basefrm.edit) {
      if (top.basefrm.edit.document.reloadFrame) {
          var oTransfer = top.basefrm.edit.document.getElementById("transfer");
          if (top.basefrm.list) {
              oTransfer.editlanguage.value = top.basefrm.list.document.getElementById( "search" ).editlanguage.value;
          }
          oTransfer.submit();
      }
    }
}

this will fix the first issue, where changing language in edit window and selecting item from list, loads item in previously set language in edit window, not language which is selected in the list.

To fix problem when you change language in edit window, then go categories, and have list in one language and create item window in other, the quick fix would be:
add this to admin/oxadminview.php addGlobalParams method

        $sBaseLang = oxLang::getInstance()->getBaseLanguage();
        $oViewConf->setViewConfigParam( 'selflinkbase', oxUtilsUrl::getInstance()->processUrl($sURL.'index.php?editlanguage='.$sBaseLang, false) );

and at article.tpl, categories.tpl... change
$oViewConf->getSelfLink() to $oViewConf->getViewConfigParam('selflinkbase')

As we noted above, these are just quick fixes and we will not implement it.

As for the second note, we will consider changing the logic of it.

Thank you for your contributions.