Issues with filter cache and embedding views slideshow
Scenario:
Drupal 7
Views and Views Slideshow module
Custom blocks with PHP_CODE input format to embed the views
This normally works only once after caches are cleared. After the first page load, the slideshow images would appear but the cycle would not work.
Reason:
The block system uses cached values of the content from filter module (even through blocks may not be cached), the filter content is always cached and this can't be disabled. The php input_filter evaluates the code and caches the result. Now when the code is evaluated, as a side effect, the slideshow module adds the appropriate required js files.
Subsequent page loads would not emit the required js files, but only the static html from the embed_view. If the view did not rely on additional js files, this would have worked. But in the case of slideshow plugin (or a similar plugin that adds its own extra js/css files) would break.
Work around:
Instead of building a custom block, configure the view as a block and then use display output theme override in view to add any customizations and use the views block. The views block is not cached the way filters are cached. So, this would always work.
Group Add More: Simulate clicking on group of multi-value fields
A custom content type that we built recently had multiple fields which accepted unlimited values. Some of these fields were grouped together and expected to accept values together.
The fix to this problem is rather simple. Simulate clicking on individual "Add More" buttons. We generalized this idea and create a jQuery plugin to facilitate this on any group of multi-value fields inside a container. This is supported for Drupal 6 & 7. Use the plugin from the approriate github branch from: https://github.com/nkmani/group-add-more (1.0 is for D6 and 2.0 is for D7).
To use this plugin:
Include the jquery.group-add-more.js file (both development as well as minified versions are available) in your theme.
Include the javascript snippet to attach the plugin to the container that has the add-more buttons.
The rendered group field would look like as shown below.