it-swarm-id.com

Bagaimana cara terbaik memasukkan jQuery Themeroller dalam ekstensi?

Dengan J3x memasukkan jQuery, setengah dari pertempuran termasuk Themeroller dengan mudah sudah diatasi, tapi saya masih memiliki masalah dalam membuat aspek Themeroller bekerja dengan baik. Saya telah menemukan bahwa menambahkan tag skrip "di suatu tempat" biasanya berfungsi, tetapi ke mana tag skrip tersebut berjalan bervariasi - membuat widget rusak kecuali "tepat sebelum ini, atau setelah itu".

Apakah ada cara Joomla-Benar menambahkan Themeroller dan semua widget itu dengan benar ke komponen?

2
GDP

untuk memasukkan JS dan CSS tertentu dalam suatu komponen, saya mengikuti saran Michael Babker:

Gunakan Folder media, Izinkan Media yang Dapat Ditimpa

http://www.babdev.com/blog/139-use-the-media-folder-allow-overridable-media

  • di folder komponen root Anda, buat folder bernama media
  • di dalam, buat 2 folder, css dan js Jangan lupa sertakan blank yang diperlukan index.html di semua folder ini

  • Ubah file yourcomponent.xml yang sesuai:


<media folder="media" destination="com_yourcomponent">               
    <filename>index.html</filename>                 
    <folder>css</folder>
    <folder>images</folder>              
    <folder>js</folder>
</media>
  • di /views/yourcomponent/default.php

atau

/views/wh Apapunisthenameofpemuaskan/default.php

panggil file JS/CSS Anda dengan cara ini:

JHtml::_('stylesheet', 'com_yourcomponent/yourcss.css', false, true);
JHtml::_('script', 'com_yourcomponent/yourjs.js', false, true);

Tentu saja, Anda dapat menggunakan skrip JS/CSS yang berbeda untuk setiap tampilan Anda.

Semoga ini bisa membantu.

5
ghazal

Untuk memastikan perpustakaan JS akan dimuat dengan komponen Anda, Anda harus memasukkannya dalam tampilan komponen Anda. Sesuatu seperti ini di view.html.php Anda atau file templat seharusnya berfungsi:

JHtml::_('jquery.framework');

Perhatikan bahwa ini akan menyertakan jQuery dalam Mode noConflict. Ini juga memastikan bahwa kerangka kerja akan dimuat hanya sekali.

Untuk memuat jQuery dalam mode Normal, gunakan:

JHtml::_('jquery.framework', false);

Memperbarui:

Anda ingin js Anda dimuat pada bagian tampilan komponen Anda, jadi ini adalah tempat untuk menambahkannya. Jadi setelah memasukkan kerangka kerja yang diperlukan, Anda juga menyertakan js dan css lain pada tampilan.

Untuk menambah ini, dan tergantung pada bagaimana Anda ingin melakukan sesuatu atau jika ada alasan lain, Anda dapat membuat file pembantu dengan kelas dan metode Anda sendiri, yang saat dipanggil, akan memutuskan file js/css apa yang akan ditambahkan, berdasarkan pada setiap kondisi. Anda juga dapat mempertimbangkan untuk menggunakan folder media sebagai lokasi js/css Anda.

<?php $doc = JFactory::getDocument();
$doc->addScript(JURI::root(true).'/media/com_component/js/myscript.js');
?>


Joomla: Menambahkan JS - Dokumentasi

1
FFrewin