2016-04-18 34 views
6

Sto lavorando con il progetto di migrazione Lifera. Il progetto è stato creato in Liferay 6.1 e ora sto migrando in Liferay 6.2.Percorso dell'immagine di sfondo nei file CSS - Liferay 6.2

Sono di fronte al problema nel percorso dell'immagine per tutti i file CSS. Durante la migrazione in Liferay 6.2 viene aggiunto il percorso della cartella Tema e CSS a tutte le immagini.

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

Progetto derectory è come questo:

_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 

Questo prodotto è enorme e difficile da aggiornare tutti URL di sfondo.
E 'possibile sbarazzarsi di "nome-tema/css" dal percorso nei file CSS.

risposta

0

Ti suggerisco di scrivere semplicemente un codice che apri il file css -> leggi e poi trova una proprietà che corrisponda a -> background: url() e semplicemente aggiungi l'url con/myThemeNames/css/ad esso.

Il pezzo di potrebbe essere scritto in qualsiasi lingua, php, python, java, C++. Qualunque cosa tu stia bene con. Anche se hai 50 file CSS. Puoi semplicemente passare i nomi dei file a filestream e dovrebbe farlo per te.

Fammi sapere se hai bisogno di aiuto per scrivere il codice.

+1

Sì, lo so, ma manualmente diventerà un codice rigido, se in futuro il nome del tema viene aggiornato, di nuovo devono eseguire gli stessi exersize. Sto cercando una soluzione dinamica. –

0

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

riscrittura-CSS-URLs è qualcosa che ho usato in passato su siti più grandi (4000 + pagine) in cui mi sono imbattuto in un problema simile. Di seguito dovrebbe fare un passo attraverso il processo:

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

Usage:

Ricerca:

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

Trova & Sostituire:

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

Se avete bisogno di ulteriori informazioni circa il suo uso e la funzione, controlla this post a questo proposito sul NPMJS.com

spero che questo possa essere di aiuto a risolvere il tuo problema!

+0

Questo progetto è in Liferay 6.2 e sono un po 'nuovo per questo npm. E liferay stesso compila il file CSS. Quindi, anche io spingo la versione complied del file CSS. Liferay 6.2 ridurrà tutti i file CSS e aggiungerà nuovamente "Percorso del tema". –