Wie man Tables jQuery-Objekt mit ZendX_jQuery verwenden
-
26-09-2019 - |
Frage
Ich versuche ZendX_jQuery und Datentabellen für ein Projekt zu verwenden. In meinem Layout-Datei habe ich:
if($this->jQuery()->isEnabled()){
$this->jQuery()->setLocalPath('/js/jquery/js/jquery-1.4.2.min.js')
->setUiLocalPath('/js/jquery/js/jquery-ui-1.8.4.custom.min.js')
->addStylesheet('/css/smoothness/custom.css')
->addJavascriptFile('/js/jquery.dataTables.js');
echo $this->jQuery();
}
Jedes Mal, wenn ich zum Gegenstand haben wird gemacht, dass die ZendX Helfer verwendet, macht das Datentabellen-Objekt in Ordnung. Allerdings, wenn ich ein Objekt nicht habe dann die Tabelle würde nicht machen.
Beispiele:
Datentabellen wegen picker arbeiten:
<link rel="stylesheet" href="/css/smoothness/custom.css" type="text/css" media="screen" />
<script type="text/javascript" src="/js/jquery/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery/js/jquery-ui-1.8.4.custom.min.js"></script>
<script type="text/javascript" src="/js/jquery.dataTables.js"></script>
Datentabellen, weil keine picker gebrochen:
<link rel="stylesheet" href="/css/smoothness/custom.css" type="text/css" media="screen" />
<script type="text/javascript" src="/js/jquery/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.dataTables.js"></script>
Der offensichtliche Unterschied hier ist, dass ohne andere jQuery Objekte, ZendX die jQuery UI-Datei im Header nicht platzieren. Gibt es eine Möglichkeit, es zu zwingen, dies zu tun? Ich mag nicht mit der UI-Skript-Datei zweimal zu erklären, um sicherzustellen, dass jede Seite bekommt sie.
Danke,
Joe Chin
Lösung
Sie haben es selbst zu ermöglichen, die sonst intern durchgeführt wird.
JavaScript So greifen wir müssen die jQuery () Funktionalität nutzen. Beide Helfer bereits aktiviert ihre Abhängigkeiten, die wird sie genannt haben jQuery () -> aktivieren () und jQuery () -> uiEnable () [...]
Das bezieht die auf den View Helfer für jQuery, so ist es $this->view->jQuery()->enable()
innerhalb einer Controller Aktion oder $this->jQuery()->enable()
in Aussicht.