Domanda

Ho seguito l'articolo qui, http://alanstorm.com/magero_infinite_fallback_theme_xml E ho funzionato al 99%. Sta succedendo una cosa strana che cancellare la cache e tutto ciò che si muove non ha risolto per me. Quello che succede è che se definisco un file CSS non tirerà dal bambino ** (sito B) ** ma tira dal genitore successivo su ** (sito A) **. Ecco cosa ho

(Sito A)Tema genitore (wsu_base/default/etc/theme.xml)

<?xml version="1.0"?>
<theme>
    <parent>rwd/default</parent>
    <layout>
        <updates>
            <wsu_base>
                <file>wsu_base_defaults.xml</file>
            </wsu_base>
        </updates>
    </layout>
</theme>

(Sito B)Tema bambino (wsu_base/test/etc/theme.xml)

<?xml version="1.0"?>
<theme>
    <parent>wsu_base/default</parent>
    <layout>
        <updates>
            <wsu_base>
                <file>wsu_base_defaults.xml</file>
            </wsu_base>
            <foundation_default>
                <file>defaults.xml</file>
            </foundation_default>
        </updates>
    </layout>
</theme>

layout dei genitori (Sito A) (wsu_base/default/layout/wsu_base_defaults.xml) e figlio (wsu_base/test/layout/defaults.xml) (Sito B) Entrambi hanno questo.

<?xml version="1.0" encoding="UTF-8"?>
<layout>
    <default>

        <reference name="head">
            <action method="addItem"><type>skin_css</type><name>css/custom.css</name></action> 

        </reference>

    </default>
</layout>

Che CSS nella cartella della pelle principale è (wsu_base/default/css/custom.css)(Sito A)

body{ color:blue !important;}

E nel bambino che ho (wsu_base/test/css/custom.css)(Sito B)

body{ color:red !important;}

Mi aspetto che tutto sia rosso, ma tutto è blu. Ora ok, forse posso arrivare a questo rimuovendo il <action method="addItem"><type>skin_css</type><name>css/custom.css</name></action> dal genitore e tienilo solo nel bambino. Lo faccio e rm -rf /var/cache/ ancora ed ancora, touch /var/ngx_pagespeed_cache/cache.flush Più e più volte, assicurati che le cartelle CSS e JS siano vuote, spegne tutta la memorizzazione nella cache e ...... Vedo ancora blu! Quando dovrei vedere il rosso.

Cerco di diventare intelligente anche con esso, nel bambino (Sito B) io vado

<?xml version="1.0" encoding="UTF-8"?>
<layout>
    <default>
        <reference name="head">
            <action method="removeItem"><type>skin_css</type><name>css/custom.css</name></action>
            <action method="addItem"><type>skin_css</type><name>css/custom.css</name></action>
        </reference>
    </default>
</layout>

Pensando sicuramente che rimuoverà prima il genitore CSS e caricherà quello del bambino, ma è ancora blu (anche se in alcuni degli altri test, non ho fatto la chiamata per il CSS nel genitore ed era né rosso né blu) ... Ho il valore di configurazione del sistema così com'è nell'articolo. Ho anche provato a impostare il set predefinito per negozio, ma anche quando ho impostato i valori per Sito b Su "Skin (immagini / CSS)", tutto è blu ..

aggiornare: Vale anche la pena notare che se vado e aggiungo un'azione di basi modello, come addLinkBlock Quindi funziona dal tema del bambino (Sito B) e non si presenta sul tema genitore (Sito A) che è previsto. Esempio nel bambino (Sito B)

<?xml version="1.0" encoding="UTF-8"?>
<layout>
    <default>
        <reference name="head">
            <action method="removeItem"><type>skin_css</type><name>css/custom.css</name></action>
            <action method="addItem"><type>skin_css</type><name>css/custom.css</name></action>
        </reference>
        <reference name="top.links">
            <block type="wishlist/links" name="wishlist_link" />
            <action method="addLinkBlock"><blockName>wishlist_link</blockName></action>
        </reference>
    </default>
</layout>

Vedrò la lista dei desideri e poiché il blocco viene distrutto nel tema genitore (Sito A) dimostra che il bambino (Sito B) File del tema (defaults.xml) funziona e viene letta e il layout viene aggiornato.

FINALE

AKA: timbro V8

Sei arrivato in fondo e c'è una lezione che riviviamo più e più volte come sviluppatori, controlla i tuoi percorsi e quindi ricontrollarli. Allora perché il CSS non ce l'ha fatta, bene nell'editore sembrava il /skin la cartella era nella radice, ma in qualche modo in /app cartella. Beh, non c'è da stupirsi che fosse tornato al genitore, non c'era no custom.css File nel tema del bambino (Sito B) Ed è quello che fa un fallback. :

Non ho eliminato questo perché è un semplice errore anche se i veterinari di 20 anni commettono, ed è solo un buon promemoria che dovresti sempre triplicare controlla i tuoi percorsi e poi allontanarti e controllare di nuovo.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top