Używam PLONE 3 i obecnie próbuję zastąpić jeden z domyślnych plików JavaScript I.E. Table_sorter.js.

W katalogu przeglądarki w moim produkcie stworzyłem katalog "JavaScripts" (tylko po to, aby utrzymać rzeczy zorganizowane), a następnie zarejestrowałem katalog jako Ressource w Configure.ZCML:

<browser:resourceDirectory
    name="myproduct.javascripts" 
    directory="javascripts" 
    layer=".interfaces.IThemeSpecific" />

Gdzie "myeproduct" jest oczywisty. Następnie w JSSregistry.xml, zarejestrowałem i zamówiłem pliki JavaScript:

<javascript id="++resource++myproduct.javascripts/table_sorter.js" 
    enabled="True" 
    cookable="False" 
    inline="False" 
    insert-after="jquery.js" />

Gdzie tabela_sorter.js jest nazwą pliku JavaScript, którego potrzebuję, aby zastąpić.

Powodem, dla którego muszę zastąpić plik jest dlatego, że domyślnie nie ma sposobu opowiedzenia użytkownika, czy tabela jest sortowana, czy nie zostanie kliknięta. Muszę domyślnie dołączyć ikony na nagłówku stołu.

Podążałem za powyższymi krokami, ale wydaje się, że nie działa. Nie mam pojęcia, gdzie się mylę. Jakakolwiek pomoc będzie doceniona.

1
Frankline 28 listopad 2011, 11:48

2 odpowiedzi

Najlepsza odpowiedź

Brakuje, że generyczny element importowy konfiguracji. Dodaj plik skins.xml do profilu GS z tym kodem:

<?xml version="1.0"?>
<object name="portal_skins" allow_any="False" cookie_persistence="False">

    <object name="plonetheme_mytheme_js"
        meta_type="Filesystem Directory View"
        directory="your.product:skins/plonetheme_mytheme_js"/>

    <skin-path name="*">
        <layer name="plonetheme_mytheme_js"
            insert-after="custom"/>
    </skin-path>

</object>

Następnie pamiętaj, aby ponownie zainstalować swój produkt, aby zastosować nowy krok GS

Uwaga: Dając kolejną odpowiedź po prostu, ponieważ kod w komentarzach nie jest czytelny. Spójrz na odpowiedź @Martijn Pierters (i komentarzy) dla części początkowej.

2
Giacomo Spettoli 28 listopad 2011, 10:53

Biorąc pod uwagę, że umieściłeś już dostosowany plik JavaScript do katalogu statycznego, wykonaj następujące czynności.

W pliku "Twoje / aplikacje / profile / domyślne / jsregistry.xml"

<?xml version="1.0"?>
<object name="portal_javascripts">
    <javascript id="table_sorter.js" remove="True" enabled="False" />

    <javascript cacheable="True" compression="none" cookable="True"
                enabled="True" expression=""
                id="++resource++your.app/path/to/customised/script/table_sorter.js" inline="False"/>
</object>

Zmodyfikuj atrybuty, jak chcesz. :)

0
Artur Barseghyan 20 grudzień 2013, 10:09