Van egy korábbi téma-felvetésem/kérdésem egy webform Colorboxban való megjelenítésével kapcsolatban, nos ez a téma annak a folytatása.
A Colorbox node modul 169. sorától láthatunk kísérletet arra, hogy a colorbox átméreteződik, ha a webform beküldésekor hiba lép fel és a hibaüzenetek plusz helyet igényelnek a colorboxban:
function colorbox_node_webform_js_submit($form, &$form_state) { // If we have a failure or success, lets resize the modal box again since // it could grow/lose in height with the error/success messages. // @TODO: Change the dynamic resizing only if the user wants it. $javascript = ' <script type="text/javascript"> (function ($) { $(document).ready(function() { setTimeout(function() { var h = $("#cboxNode").height() + 100; var w = $("#cboxWrapper").width(); $.fn.colorbox.resize({width:w, height:h}); }, 0); }); })(jQuery); </script>'; // We need a smarter dynamnic resize in case the user doesn't // want it to resize automatically. Or if its a very large form // and it would extend past the page. $javascript = ''; //<==== EZ MI??? ...
Lássuk az utolsó sort: Amit az elébb a $javascript értékeként megadott, azt az utolsó sorban nullázza. Nincs semmiféle feltétel ami a $javascript kétféle értéke közt választana.
Kikommenteztem a
$javascript = ''; //<==== EZ MI???
sort, ennek ellenére a $javasrcipt = ''; sor előtti $javascript definíció által beszúrt HTML-nek semmi nyomát sem látom a forrásban.
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
Hát ez tényleg egy okádék
Hát ennek a ColorBox Node modulnak tényleg egy okádék a kódja. Eddig még nem használtam, de ennyi alapján nem is nagyon fogom... Eleve telehányja gusztustalan inline kódokkal a PHP-kódot, tehát szemantikai keveredés is van, mert keveredik a PHP- és JS-kód, de elég erősen; aztán ami JS-kódot hozzá kéne csapni az oldalhoz, azt is sz@rul csinálja - mi az, hogy a '#markup'-hoz dobálja bele az összetákolt JS-kódot? Huhh, na asszem nem is nézem tovább a kódját, mert csak hányingerem van tőle. :D