it-swarm-tr.com

Altbilgiye ve özel stillere javascript dosyası ekleme

Hızlı sayfa yükleme için, sayfanın sonuna bileşenlerden ve modüllerden JS eklemem gerekiyor.

Aşağıdaki komut dosyası bildirme yöntemi, altbilgiye koymak için bir parametre olmadığından, alt kısma eklemek için çalışmaz.

$rsws_document  = JFactory::getDocument(); 
$rsws_document->addScript();

Öyleyse amacımı yerine getirmenin kısa yolları nedir? Joomla böyle bir işlevsellik sağlamazsa, sayfa yükleme hızı için önemli bir dezavantajdır.

Ayrıca, bir modülden özel stil sayfaları eklemek istiyorum, böylece aynı modül o sayfaya birden çok kez eklese bile sayfaya yalnızca bir kez enjekte edilir -

<style type="text/css"> .classname { color:red; }.....</style>

Bunu nasıl başarabilirim?

9
dev-m

JDocument-> addScript () komut dosyasının yüklenmesini erteleme ve/veya zaman uyumsuz yükleme seçenekleri vardır. API belgesine bakın: http://api.joomla.org/cms-3/classes/JDocumentHTML.html#method_addScript

Bu, tarayıcının komut dosyalarını işlemin ilerleyen aşamalarında yüklemesine izin verir ve bu da sayfa yükleme süresine yardımcı olur.

Komut dosyalarını sayfanın altına yükleyecek API yok. Buna ihtiyacınız varsa, 3. taraf uzantıları kullanmanız veya doğrudan şablona eklemeniz gerekir.

6
Bakual

Şu anda altbilgiye komut dosyası eklemek için bir yöntem yoktur. Ancak, çıktıyı alan bir eklenti yapabilir, altbilgi gibi uygun şekilde adlandırılmış bir etiket arayabilir ve kodunuza eklemek için str_replace kullanabilirsiniz.

Ancak şu uzantıları kullanabilirsiniz:

  1. ScriptsDown
  2. JCH Optimize Et

Ayrıca bir yöntem buldum. Temel kodu hacklememeyi tercih ederim, ama şu anda gelebileceğim en iyisi bu.

lütfen bu bağlantıyı kontrol edin - Javascript dosyaları altbilgide bulunur

Umarım başkalarına yardımcı olur :)

2
Joomler

Şimdiye kadar, sayfanın alt kısmına komut dosyaları yükleme seçeneği olmadığını düşünüyorum.

İkinci sorunuz için, statik bir boolean özelliği kullanabilir ve css'iniz ilk oluşturulduğunda bunu true olarak ayarlayabilirsiniz. Aşağıdaki modül örnekleri için css'nizi eklemeniz gerekip gerekmediğine karar vermek için bu özelliği test etmeniz yeterlidir.

Belki de bu statik özelliği eklemek için iyi bir yer bir modül yardımcı sınıfıdır.

Saygılarımızla,

2
Pep Lainez

Herhangi bir komut dosyası (PHP, Java, CSS, HTML, ne olursa olsun) koyup nereye yükleyeceğinizi (kafa, gövde, gövde sonu, vb.) Seçmenizi sağlayan "Boş Modül" adlı bir modül kullanıyoruz.

Ücretsiz ve tamamen kullanışlı buldum: http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/custom-code-in-modules/3668

Betikleri vücudun altına taşımak için biraz daha fazla iş var. Bunu kullan:

Şablona ekle:

 <? php 
 $ head = $ doc-> getHeadData (); 
 // Komut Dosyalarını Kaldır 
 unset ($ doc -> _ komut dosyası [JURI :: root (true). '/media/system/js/mootools-more.js']); 
?>

Baştan kaldırmanız gereken her komut dosyası için bir "ayarlanmamış" satır ekleyin. Ardından, alttaki boş modüle ekleyin (hata ayıklama konumu?). Bir artı, farklı boş modüller yaparsanız, komut dosyalarını yalnızca gerektiğinde yükleyebilmenizdir (örneğin, yalnızca motorlar için bir modül örneği, yalnızca belirli bir sayfaya yükleme).

Stiller için Boş Modül'ü de kullanabilirsiniz.

Umarım bu yardımcı olur.

$ document-> addScript () her zaman etiketten önce başlık bölümüne komut dosyaları ekler. Bu nedenle, sayfanın alt kısmına bir komut dosyası yüklemek istiyorsanız, o zaman <script src="{pathtojacvascriptfile}"></script>

Umarım bu yardımcı olabilir

2
user5491

Henüz kendim denemedim. HTML göstermeyen bir modül oluşturabilir, sadece komut dosyaları ve stiller bastırabilirsiniz, ancak diğer modülünüzün görüntülendiği sayfalarda alt modül konumundadır.

0
Hung Tran