Magix cjQuery, une bibliothèque php pour intégrer jQuery - accordionMagix cjQuery est une bibliothèque écrite en PHP 5.
Elle permet d’effectuer le contrôle de vos données échangé dans les champs de formulaire.
Elle peut être intégrée dans tout type de conception, et est compatible avec différents framework.2017-10-05T19:12:23+02:00gerits aurelienurn:md5:fc9a43498ab43d68ba6c26764a7e06acDotclearjquery ui accordion dans la librairieurn:md5:25d6c2ab76cb078d984ca9c266acbf222009-05-22T01:42:00+02:002009-12-04T23:53:40+01:00aurelien geritsaccordionaccordionjQuery UImagix cjQuerytutoriel jQueryévènements jQuery<p><img src="https://magix-cjquery.com/public/presentation/jQuery-ui.png" alt="jQuery-ui.png" style="float:left; margin: 0 1em 1em 0;" title="jQuery-ui.png, mai 2009" />
Aujourd'hui de gros changement dans la librairie avec l'ajout de jQuery UI accordion.<br />
Pour rappel, le "widget accordion" permet de créer un menu accordéon simplement avec divers options.<br />
Ce widget faisant partie de jQuery UI est désormais intégrer dans l'API de magixcjQuery pour une utilisation dans votre code PHP.<br />
Un exemple à également été ajouté dans le SVN pour apprendre, comprendre et surtout voir les améliorations possible avec vos suggestions.<br /></p> <p>Ce widget possède beaucoup de paramètres, les méthodes sont définie séparément pour une plus grande liberté.<br />
Divers méthode pour une liberté total :</p>
<pre>[PHP]
<?php
//instance jQuery
$jquery = new magixcjquery_jquery_magixcjQuery();
//instance plugin accordion
$accordion = new magixcjquery_jquery_plugins_ui_accordion();
print $jquery->startjQuery().
$accordion->jaccordion('#accordion',array(
$accordion->opt_Active()=>'2',
$accordion->opt_event()=>'"mouseover"',
$accordion->opt_icons()=>'{'.$accordion->opt_header().':'.'"ui-icon-circle-arrow-e",headerSelected:"ui-icon-circle-arrow-s"'.'}'
)).
$jquery->endjQuery();
?>
</pre>
<p>Avec la class jQuery_params pour faire la boucle dans le tableau de paramètre de la fonction header</p>
<pre>[PHP]
<?php
//instance jQuery
$jquery = new magixcjquery_jquery_magixcjQuery();
require('../jquery.php');
//instance plugin accordion
$accordion = new magixcjquery_jquery_plugins_ui_accordion();
//instance class params spécial pour faire la boucle du tableau
$for= new magixcjquery_jquery_params();
//Tableau pour les paramètres de la fonction header de jquery ui
$headparams = array('"ui-icon-circle-arrow-e"','headerSelected:"ui-icon-circle-arrow-s"');
print $jquery->startjQuery();
$script = $accordion->jaccordion('"#accordion"',array(
$accordion->opt_Active()=>'2',
$accordion->opt_event()=>'"mouseover"',
$accordion->opt_icons()=>'{'.$accordion->opt_header().':'.$for->forUIValue($headparams).'}'
));
print $script;
print $jquery->endjQuery();
?>
</pre>
<p>Le code PHP ci-dessus retourne :</p>
<pre>[javascript]
<script type="text/javascript">
$(document).ready(function(){
$("#accordion").accordion({
active:2,event:"mouseover",
icons:{header:"ui-icon-circle-arrow-e",headerSelected:"ui-icon-circle-arrow-s"}
});
})</script>
</pre>
<p><strong>Prochaine étape, l'obsfuscation automatique avec packer dans la librairie pour <a href="http://www.magix-cms.com/optimisation-de-site/optimiser-le-javascript.html" hreflang="fr">optimiser le javascript</a> au maximum.</strong><br />
Les premiers test sont pour le moins satisfaisant.
Voici un exemple avec notre code :</p>
<pre>[PHP]
<?php
//instance jQuery
$jquery = new magixcjquery_jquery_magixcjQuery();
require('../jquery.php');
//instance plugin accordion
$accordion = new magixcjquery_jquery_plugins_ui_accordion();
//instance class params spécial pour faire la boucle du tableau
$for= new magixcjquery_jquery_params();
//Tableau pour les paramètres de la fonction header de jquery ui
$headparams = array('"ui-icon-circle-arrow-e"','headerSelected:"ui-icon-circle-arrow-s"');
print $jquery->startjQuery();
$script = $accordion->jaccordion('"#accordion"',array(
$accordion->opt_Active()=>'2',
$accordion->opt_event()=>'"mouseover"',
$accordion->opt_icons()=>'{'.$accordion->opt_header().':'.$for->forUIValue($headparams).'}'
));
//packer automatique de votre code dans cet exemple en numéric
$t1 = magixcjquery_jquery_packer_pack::timeStart();
$packed = magixcjquery_jquery_packer_pack::packer($script,95);
$t2 = magixcjquery_jquery_packer_pack::timeEnd();
print $packed;
print $jquery->endjQuery();
?>
</pre>
<p>Ce code donnera exactement le même résultat mais avec une obfuscation automatique :</p>
<pre>[javascript]
<script type="text/javascript">
$(document).ready(function(){eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('$("#0").0({7:2,6:"8",b:{c:"1-3-4-5-9",d:"1-3-4-5-a"}});',14,14,'accordion|ui||icon|circle|arrow|event|active|mouseover|e|s|icons|header|headerSelected'.split('|'),0,{}))
})</script>
</pre>https://magix-cjquery.com/post/2009/05/22/jquery-ui-accordion-dans-la-librairie#comment-formhttps://magix-cjquery.com/feed/atom/comments/49