DomůČlánkyTipy a trikyDynamický Javascript a CSS podruhé

V předchozím článku na toto téma jsme si ukázali jak dynamicky generovat jednoduchý javascript obsahující třeba definici jazykových řetězců, které chceme v našem javascriptovém kódu použít. Tentokrát si ukážeme jak udělat, když potřebujeme v rozsáhlejším js, nebo css kódu použít i PHP.

V takovém případě by generování kódu v modelu asi nepředstavovalo to pravé řešení. Pro tento případ si vytvoříme JavaScriptový, nebo CSS kód v samostatném souboru, který umístíme třeba mezi ostatní soubory pohledu. Pouze mu nepřiřadíme obvyklou příponu js, nebo css, ale php. Tím zajistíme, že se vykoná PHP kód v těchto souborech. V Javascriptovém souboru pak může vypadat nějak takto:

function set_watch() {
  if(<?php echo JFactory::getUser()->get('id'); ?>==0) {
    document.getElementById('watch_email_div').removeAttribute('style');
  } else {
    submit_watch();
  }
}

 

Následně si v ovladači akce, kterou jsme si v přípravě pohledu pomocí URL zadaného metodě addScript, určili tento soubor jednoduše vložíme pomocí PHP funkcí include, nebo require.

Další zajímavost spočívá v přidání proměnné format=raw k URL adrese. Pokud jej přidáme nemusíme na konci kódu ovladače volat metodu close() třídy JApplication() jako v předchozím článku, takže volání js kódu vypadá třeba takto:

JFactory::getDocument()->addScript('index.php?option=com_component&controller=controller&task=get_js&format=raw');

A v ovladači umístíme tento kód:

  function get_js() {
    require_once(JPATH_COMPONENT.DS.'views'.DS.'someview'.DS.'tmpl'.DS.'default.js.php');
  }

A to je vše.

Komentářů (0)
Přidat komentář
YOUR_CONTACT_DETAILS:
Komentářů:
[b] [i] [u] [s] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
SECURITY
Prosím=vložte text z obrázku (anti-SPAM ochrana

Zprávičky

Napsat novou zprávičku  |  Vše

sh404SEF 2.0.3.545

Nová verze

Napsal Peter Smrčák | 13.08 22:12

Kunena 1.6 RC1

Nová verze

Napsal Peter Smrčák |  9.08 15:28

Vyšla nová Kunena RC1 pre pripravovanú Joomlu 1.6.

EasyBook reloaded!

Nová verze

Napsal Peter Smrčák |  4.08 06:41

Vyšla stabilná verzia obľúbenej návštevnej knihy EasyBook reloaded vo verzii 2.0.4.

VirtueMart 1.1.5

Nová verze

Napsal Peter Smrčák | 28.07 15:11

Práve vyšiel nový VirtueMart.

Táto verzia opravuje rôzne problémy.

changelog | download

Joomla 1.5.19

Bezpečnost

Napsal Filip Bartmann | 16.07 18:30

Dnešním dnem spatřila světlo světa další aktualizace stabilní řady Joomly 1.5, tentokrát s pořadovým číslem 19 a kódovým jménem Wojmamni ama batani. Jedná se o opravu několika menších bezpečnostních chyb v administraci a také novou verzi js frameworku Mootools.

Více...

Jméno Joomla!® je použito pod limitovanou licenci od Open Source Matters ve Spojených státech a ostatních zemích. Joomladev nemá spojení s Open Source Matters, nebo projektem Joomla! a není součástí jejich podpory
Logo Joomla!® je použito pod limitovanou licenci od Open Source Matters ve Spojených státech a ostatních zemích. http://joomladev.eu nemá spojení s Open Source Matters, nebo projektem Joomla! a není součástí jejich podpory