Zend Framework Fórum
09. Září 2010, 02:31:13 *
Vítej, Host. Prosím přihlaš se nebo se zaregistruj.
Nedostal jsi svůj aktivační email?

Přihlaš se uživatelským jménem, heslem a délkou sezení
Novinky: Aktuální verze Zend Frameworku je 1.10.8 z 25.8.2010 [oznámení]

http://www.zendframework.cz/.

Veškerý PHP kód dávejte mezi tagy [php] a [/php], aby byl obarvený a přehlednější.
 
   Domů   Nápověda Vyhledávání Přihlásit Registrovat  
Stran: [1]
  Tisk  
Autor Téma: [ZendX_JQuery_View_Helper] Jak přidat jQuery s Layoutem ZF 1.10.2  (Přečteno 229 krát)
korny
ZF User
*
Offline Offline

Příspěvků: 16


« kdy: 25. Červenec 2010, 22:56:32 »

Problém
Kdo chce přidat podporu jQUery do Zendu (třeba pri vytvaření formulařů - ZendX_JQuery_Form_Element_DatePicker) tak tady je možnost

Řešení
přidáme view helperu cestu v application.ini

resources.view.helperPath.My_View_Helper = "My/View/Helper"
resources.view.helperPath.ZendX_JQuery_View_Helper = "ZendX/JQuery/View/Helper"

do layoutu nahoru (to by šlo asi dat i jinam) přidáme cestu k našim js a css stylum + js preklady
Kód:
$this->jQuery ()->addStylesheet ( $this->baseUrl ( '/css/jquery/start/jquery-ui-1.8.2.custom.css') )
->setLocalPath ($this->baseUrl ('/js/jquery/jquery-1.4.2.min.js' ) )
->setUiLocalPath ($this->baseUrl ( '/js/jquery/jquery-ui-1.8.2.custom.min.js' ) )
->addJavascriptFile ($this->baseUrl ('/js/jquery/jquery.ui.datepicker-cs.js' ) );

(tim baseUrl si nejsem jistej)

a pak do do části
Kód:
<head></head>
v layoutu vložit
Kód:
//vypise potrebne js+css
echo $this->jQuery () . PHP_EOL;





původně jsem zkoušel dávat
do bootstrap.php
Kód:
_initView(){
$this->bootstrap ( 'layout' );
$layout = $this->getResource ( 'layout' );
$view = $layout->getView ();
//pridam nastaveni view (nebere z application.ini asi kvuli nove _initView
$view->doctype('XHTML1_STRICT'); //MUSI BYT aby spravne vykresloval s ukoncovaci znackou / neparove html tagy
$view->setEncoding('UTF-8');
//moje view helper cesta
$view->addHelperPath('My/View/Helper/', 'My_View_Helper_');

ZendX_JQuery::enableView ( $view );

$view->jQuery ()->addStylesheet ( '/css/jquery/start/jquery-ui-1.8.2.custom.css' )
->setLocalPath ( '/js/jquery/jquery-1.4.2.min.js' )
->setUiLocalPath ( '/js/jquery/jquery-ui-1.8.2.custom.min.js' )
->addJavascriptFile ( '/js/jquery/jquery.ui.datepicker-cs.js' );
}

ale tohle je lepší cesta :-)

..abych nezapomnel..puvodně jsem to zkoušel dávat do bootstrapu do _initViewHelper() ,ale to nešlo vůbec..asi kvuli layoutu..


ješte doplněk.aby to fungovalo musíte mít samozřejmě stažený ZendX (tedy v library/ZendX)
Zend Framework Full Package
http://framework.zend.com/download/latest
http://docs.jquery.com/Downloading_jQuery
« Poslední změna: 26. Červenec 2010, 14:20:11 od korny » Zaznamenáno
Nedvajz
ZF User
*
Offline Offline

Příspěvků: 1


« Odpověď #1 kdy: 31. Srpen 2010, 17:33:02 »

Je nejaky zpusob zjistit, jestli mam spatne zadane cesty? Asi mam problem s urcenim cesty, kde se ma dany soubor hledat. "js" mam nahrane ve slozce library. Nikdy jsem to nepouzival, tak nevim moc, kde by bylo spravne mit js nahrane. Proto by me zajimalo, jak to mas ty nastavene? Kde mas nahrany "js" atp? Nebo alespon nejaky pripad adresarove struktury, nastaveni nejake vychozi pozice, ze ktere se urcuje relativni cesta pro nastaveni jQuery atp?

Diky.
« Poslední změna: 31. Srpen 2010, 17:42:59 od Nedvajz » Zaznamenáno
Martin Hujer
Administrator
ZF User
*****
Offline Offline

Příspěvků: 591

Gravatar


WWW
« Odpověď #2 kdy: 31. Srpen 2010, 18:50:24 »

Většinou se js/css dávají někam do public nebo www nebo public_html

Podívej se Firebugem/Chrome Developer konzolí, kde ti je to hledá...
Zaznamenáno

Shopio.cz - Nákupní košík, který umí prodávat | Chuck Norris
dimmu
ZF User
*
Offline Offline

Příspěvků: 220


« Odpověď #3 kdy: 31. Srpen 2010, 22:23:15 »

jak to udělat ještě lépe:

application.ini
Kód:
autoloaderNamespaces.ZendX = "ZendX_"
pluginpaths.ZendX_Application_Resource = "ZendX/Application/Resource/"

resources.jquery.localpath   = "/js/jquery-1.4.2.min.js"
resources.jquery.uienable    = TRUE;
resources.jquery.uilocalpath = "/js/jquery-ui-1.8rc3.custom.min.js"
resources.jquery.stylesheet  = "/css/jquery/ui-lightness/jquery-ui-1.8rc3.custom.css"

no a v layoutu to všichni známe:
Kód:
echo $this->jQuery();
Zaznamenáno
Stran: [1]
  Tisk  
 
Skočit na:  

Poháněno MySQL Poháněno PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC Validní XHTML 1.0! Validní CSS!