2016-04-18 16 views
6

Ich arbeite mit Lifera Migrationsprojekt. Projekt wurde in Liferay 6.1 erstellt und jetzt bin ich in Liferay 6.2 Migrieren.Hintergrundbild Pfad in CSS-Dateien - Liferay 6.2

Ich habe ein Problem im Bildpfad für alle CSS-Dateien. Bei der Migration in Liferay 6.2 wird der Ordnerpfad Theme und CSS an alle Bilder angehängt.

Bildpfad in Liferay 6.1:background:url(../../images/xyz.jpg)
Bildpfad in Liferay 6.2:background:url(/myThemeName/css/../../images/xyz.jpg)

Projekt derectory ist wie folgt:

_diffs 
    |- CSS 
     |- common 
     |- module1.css 
     |- module2.css 
     |- module3.css 
     |- library 
     |- plugin1.css 
     |- plugin2.css 
     |- plugin3.css 
     |- utility 
     |- tool1.css 
     |- tool2.css 
     |- tool3.css 
    |- images 
     |- All Images 
    |- js 
     |- JavaScript files 

Dieses Produkt ist sehr groß und schwierig zu aktualisieren alle Hintergrund-URLs.
Ist es möglich, "Theme-Name/CSS" von Pfad in CSS-Dateien loszuwerden.

Antwort

0

Ich würde vorschlagen, dass Sie einfach einen Code schreiben, der CSS-Datei öffnen würde -> lesen und dann eine Eigenschaft finden, die passt -> Hintergrund: url() und einfach die URL mit/myThemeNames/css/daran anhängen.

Das Stück könnte in jeder Sprache geschrieben werden, PHP, Python, Java, C++. Was auch immer Sie sich wohl fühlen. Selbst wenn Sie 50 CSS-Dateien haben. Sie können die Dateinamen einfach an filestream übergeben und es sollte es für Sie tun.

Lassen Sie mich wissen, wenn Sie Hilfe beim Schreiben des Codes benötigen.

+1

Ja, ich weiß das, aber manuell wird es zu hartem Code, wenn in Zukunft der Themenname aktualisiert wird und dann wieder die gleiche Größe haben muss. Ich suche nach einer dynamischen Lösung. –

0

Check this out: https://github.com/philidem/rewrite-css-urls

Rewrite-css-Urls ist etwas, das ich auf größere Websites in der Vergangenheit verwendet habe (4000+ Seiten), wo ich in ein ähnliches Problem lief. Folgendes sollte Sie durch den Prozess Schritt:

Installation:npm install rewrite-css-urls --save

Verbrauch:

Suche:

require('rewrite-css-urls').find(cssCode, function(urlRef) { 
    console.log('Found URL: ' + urlRef.url); 
}); 

& Finden ersetzen:

var transformedCssCode = require('rewrite-css-urls').findAndReplace(cssCode, { 
    replaceUrl: function(urlRef) { 
     return urlRef.url.replace('blah.com', 'mycompany.com'); 
    } 
}); 

Sollten Sie weitere Informationen über seine Verwendung und Funktion benötigen, überprüfen this post darüber auf NPMJS.com

Ich hoffe, dass diese Hilfe bei der Lösung Ihres Problems sein kann!

+0

Dieses Projekt ist in Liferay 6.2, und ich bin etwas neu für diese npm. Und liveray selbst kompilieren CSS-Datei. So drücke ich sogar die Version der CSS-Datei. Liferay 6.2 wird alle CSS-Dateien minimieren und "Themenpfad" erneut anhängen. –