View Issue Details

IDProjectCategoryView StatusLast Update
0006631OXID eShop (all versions)2.3. Extensions (modules, themes)public2024-05-16 09:54
Reportergerldental Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.10.4 / 5.3.4 
Fixed in Version7.0.0 
Summary0006631: Problem by loading font-awesome.min.css in modul Visual CMS in subshop
DescriptionBrowser can't load font if requested URL has other domain as current in backend, and domain in backend is always from main shop.
In console this ends up with error "Bad URI or cross-site access not allowed".
As result no icons are visible. That's makes difficult to work with modul.
Steps To ReproduceSay, your main shop is configured for www.myshop.com
Change to subshop with differen domain (f.e. www.mysubshop.com) and activate Modul Visual CMS (your backend URL in browser address field remains www.myshop.com !)

font-awesome.min.css trying to load font through @font-face, but browser not allowing to do that

Additional InformationThe reason, while it happens: in modules/ddoe/visualcms/out/src/css/ddoevisualcmsadmin_ui.tpl URL for font-awesome.min.css geberated by

[{oxstyle include=$oViewConf->getModuleUrl('ddoevisualcms','out/src/css/font-awesome.min.css')}]

$oViewConf->getModuleUrl() generates it from www.mysubshop.com, not from main shop
f.e. http://www.mysubshop.com/modules/ddoe/visualcms/out/src/css/font-awesome.min.css

Workaround would be in this case to use relative URL, like href="/modules/ddoe/visualcms/out/src/css/font-awesome.min.css" ( without domain )

I didn't find any function in Oxid thats generates such URL for modul-ressources, but its relativ simple to make one ( expands oxviewconfig )

    public function getModuleRessourceRelativePath($sModuleId, $sFile = '') {
        $sUrl = str_replace(
            rtrim($this->getConfig()->getConfigParam('sShopDir'), '/'),
            '',
            $this->getModulePath($sModuleId)
        );

        return $sUrl . $sFile;
    }


and then use it in template ddoevisualcmsadmin_ui.tpl like:

<link href="[{$oViewConf->getModuleRessourceRelativePath('ddoevisualcms','out/src/css/font-awesome.min.css')}]" rel='stylesheet' type='text/css'>



TagsNo tags attached.
ThemeAll
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Activities

QA

2017-05-08 11:22

administrator   ~0012073

Kindly provide Platform information and also the browser used to reproduce this issue.
Thanks

gerldental

2017-05-08 11:52

reporter   ~0012075

I'm not really sure what you meaning with Platform. Oxid Version?
That's OXID EE 5.3.2
Browser is FireFox, but i have seen the same error reporitings in google for Chrome browser.

SvenBrunk

2024-05-16 09:54

administrator   ~0016890

Since OXID 7 module resources are now installed after module installation and are always available from the same resource folder within the application. No matter in what subshops the modules are active.
There are some other situations where even the current implementation will hit some limits, but we will care about those in other tickets as those were not mentioned here.