Wie verwende ich jquery / javascript in yii?,

Wie verwende ich mein Skript in yii?

Warum unterscheidet sich dies von der Verwendung von jQuery auf andere Weise?

5
raghul 9 Okt. 2012 im 12:37

3 Antworten

Beste Antwort

Wie verwende ich jquery in yii?

Wie oben angegeben, können Sie entweder einen neuen Skriptblock oder eine neue externe Skriptdatei registrieren. Sie können Assets auch in Plugins registrieren, die ganze JS-Ordner aufnehmen und in Ihrer App kombinieren.

Es gibt also viele Möglichkeiten, JQuery in Yii zu verwenden.

Wie benutze ich meine jquery in yii

JQuery wird mit JQuery vorgebündelt und aktiviert. Die JQuery-Bibliothek selbst wird als Kernskript betrachtet, sodass Sie Ihre eigene JQuery nicht wirklich einfügen müssen.

Sie können die integrierte JQuery mit Ihrer eigenen überschreiben, indem Sie Folgendes eingeben:

$cs = Yii::app()->clientScript;
$cs->scriptMap = array(
'jquery.js' => Yii::app()->request->baseUrl.'/js/jquery.js',
'jquery.yii.js' => Yii::app()->request->baseUrl.'/js/jquery.min.js',
);
$cs->registerCoreScript('jquery');
$cs->registerCoreScript('jquery.ui');

So etwas irgendwo in Ihrem Layout, Ihrer Aktion oder Ihrer Ansicht. Ich ziehe es vor, dies in das Layout aufzunehmen und meine eigene JQuery-Version persönlich zu verwalten.

Warum unterscheidet sich dies von der Verwendung von jQuery auf andere Weise?

Hauptsächlich aufgrund der Standardisierung und Interoperabilität des Frameworks und seiner Komponenten. Durch die Vorverpackung mit integrierten Hooks für JQuery-UI-Widgets und JQuery-Elemente im Allgemeinen wird das Framework viel einfacher zum Erstellen wiederverwendbarer und sauberer JS-Objekte zur Verwendung in Ihrer App.

Außerdem mag ich JQuery, daher ist es meiner Meinung nach sinnvoll, es vorab zu bündeln. Dies ist jedoch kein Aufruf an JQuery als einzige JS-Bibliothek / Framework, und Sie sollten sich wirklich überlegen, welche für Sie am besten geeignet ist, bevor Sie sich entscheiden.

11
Sammaye 9 Okt. 2012 im 10:02

Dies ist ein Beispielskript, das ich gerade in meiner App-Entwicklung verwendet habe:

<?php
$js = "
$('body')
  .on('click', '#cancelCreateInductionTemplate, #closeDialogBox', function (e) {
    // Close #openDialog
    e.preventDefault();
    $('#openDialog').dialog('close');
  });
";
Yii::app()->clientScript->registerScript('cancelCreateInductionTemplate', $js, CClientScript::POS_READY);
?>
0
Marian Zburlea 9 Okt. 2012 im 10:30

Verwenden von Yiis registerScript zum Laden unserer jQuery, die bei Verwendung normalerweise folgendermaßen aussieht:

$(document).ready(function(){
    alert('hello');
    // Enter code here
});

Wenn wir nun Yii's Script wie folgt verwenden:

<?php
    Yii::app()->clientScript->registerScript('helloscript',"
        alert('hello');
    ",CClientScript::POS_READY);
?>

Sie werden sehen, dass Sie 3 Dinge an die Yii :: app () -> clientScript-> registerScript-Funktion übergeben müssen, zunächst einen Skriptnamen, der nicht wirklich wichtig ist; Es muss nur von jedem anderen Skriptnamen auf derselben Seite eindeutig sein. LINK

11
Onkar Janwa 9 Okt. 2012 im 09:43