odoo-8
Dodaj pliki CSS i Javascript do modułu Odoo
Szukaj…
Składnia
- Uwaga na temat składni XML: ponieważ rekord jest zapisywany w pliku XML, nie można pozostawić żadnego tagu niezamkniętego, jak to możliwe w zwykłym pliku HTML, na przykład: <link rel = 'stylesheet' href = "..." > , Zamknij zamiast tego tag link:
- <link rel = 'stylesheet' href = "..." / >
Parametry
Możliwe wartości parametru inherit_id | znaczenie |
---|---|
web.assets_backend | Używany tylko na wewnętrznych stronach, NIE jest zawarty w publicznej witrynie internetowej. |
website.assets_frontend | Używany tylko w publicznej witrynie internetowej (za pośrednictwem modułu „ strona internetowa ”). |
web.assets_common | Używany zarówno w publicznej witrynie, jak i na stronach wewnętrznych. |
Uwagi
Jeśli nie masz pewności, która opcja jest dla Ciebie odpowiednia, wypróbuj pierwszą opcję (backend), ponieważ jest ona używana w większości przypadków i prawie we wszystkich przypadkach, jeśli nie zainstalowałeś modułu „strony internetowej”. Odoo rozróżnia zasoby „backend” i „frontend”, ponieważ publiczna witryna internetowa udostępniana przez moduł „website” używa innej stylizacji i kodu JS niż wewnętrzne strony przeznaczone do zadań ERP, tzn. „Frontend” jest powiązany z publiczną stroną internetową i „backend” jest powiązany z wewnętrznymi stronami dla ERP (znaczenie „frontend” i „backend” są tutaj specyficzne dla Odoo, ale oba są „frontendem” w bardziej ogólnym znaczeniu).
Możesz nie tylko wybrać i użyć jednej z opcji, ale także użyć dowolnej ich kombinacji (dwóch lub wszystkich) w tym samym module. Uwzględnij backend, frontend i wspólny kod JS / CSS w osobnych plikach, aby lepiej stosować się do DRY i mieć odpowiedni kod w publicznej witrynie internetowej i na stronach wewnętrznych.
Nie zapomnij dodać „WWW” (przy użyciu opcji 1 ) lub „strony internetowej” (przy użyciu opcji 2 ) do listy zależności w manifeście __openerp__.py
.
Przechowuj pliki CSS i JS poprawnie w module Odoo
Pliki CSS i JS powinny znajdować się w katalogu „static” w katalogu głównym modułu (reszta drzewa podkatalogów w „static” to opcjonalna konwencja):
- static / src / css / your_file.css
- static / src / js / your_file.js
Następnie dodaj łącza do tych plików bez jednego z 3 sposobów wymienionych w poniższych przykładach.
Opcja 1: [POWRÓT] Dodaj pliki CSS i JavaScript do użycia na stronach wewnętrznych
Odoo v8.0 sposobem jest dodanie odpowiedniego rekordu w pliku XML:
Dodaj plik XML do manifestu (tj. Plik
__openerp__.py
.):...
„data”: [„twoj_plik.xml”],
...Następnie dodaj następujący rekord do
'your_file.xml'
:
<openerp> <data> <template id="assets_backend" name="your_module_name assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/> <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script> </xpath> </template> .... .... </data> </openerp>
Opcja 2: [FRONTEND] Dodaj pliki CSS i Javascript do użytku w publicznej witrynie internetowej
Uwaga: należy użyć tej metody, jeśli zainstalowałeś moduł „strony internetowej” i masz dostęp do publicznej strony internetowej.
- Dodaj następujący rekord w
'your_file.xml'
:
<openerp> <data> <template id="assets_frontend" name="your_module_name assets" inherit_id="website.assets_frontend"> <xpath expr="link[last()]" position="after"> <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/> </xpath> <xpath expr="script[last()]" position="after"> <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script> </xpath> </template> </data> </openerp>
Opcja 3: [WSPÓLNE] Dodaj pliki CSS i JavaScript do użycia na wszystkich stronach (backend i frontend)
- Dodaj następujący rekord w
'your_file.xml'
:
<openerp> <data> <template id="assets_common" name="your_module_name assets" inherit_id="web.assets_common"> <xpath expr="." position="inside"> <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/> <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script> </xpath> </template> </data> </openerp>