On Sunday, November 28, 2010 1:53:01 pm [email protected] wrote: > Makes sense (timing...the 4th dimension how it all is non-intuitive). > So, my Drupal function is now > > function _make_block() { > if (isset($_SESSION['test'])) { > drupal_set_message('setting'); > $settings = array( > 'mymodule' => array( > 'name' => $_SESSION['mymodule_name'], > 'total' => $_SESSION['mymodule_total'] > ) > ); > drupal_add_js($settings, 'setting'); > drupal_add_js(drupal_get_path('module', 'mymodule) > .'/mymodule.js', 'module', 'header', FALSE, FALSE); > $block = 'test'; > } > return $block; > }
This part looks correct, I think. Basically, I consider the "inline" property of drupal_add_js() to be almost a bug, not a feature. Don't use it if you can possibly avoid it. > Not sure whether the second drupal_add_js call should be of type module > or inline at this point. The contents of my js file are 'module' is correct, because you're adding a .js file from a module. > //<script type="text/javascript" > src="http://www.mydomain.com/mystuff.js"></script> > $(function() { > var settings = Drupal.settings.mymodule; > myfunction(settings.name,settings.total); > }); You don't want that first line at all. That's only if you're putting it in the HTML directly. If it's just in a JS file you do not want it. > I commented out the reference to the other js file within my .js file > for now. I guess I'll need to handle it with another drupal_add_js call. Correct. <script> tags don't work within JS files. They're an HTML thing. > However, I'm still getting only > > <script type="text/javascript" > src="/sites/all/modules/_custom/mymodule/mymodule.js?1290973249"></script> That's all drupal_add_js() will give you in the page itself. That's good. > but nothing that's in it appears on the page. I simply get the divs for > the test block and the word 'test' as its content. Sounds like it's time to fire up Firebug and see where the Javascript is failing. --Larry Garfield
