Custom JavaScript

Hello,

I have a question that I think applies to Omeka in general and not only to the Faceted Browse module.

I’d like to add select2 to my Faceted Browse page. I have downloaded the code and put int the Faceted Browse assets directory. Then added the following to FacetedBrowse/view/faceted-browse/site/page/page.phtml

$this->headLink()->appendStylesheet($this->assetUrl('css/site/select2.min.css', 'FacetedBrowse'));
$this->headScript()->prependFile($this->assetUrl('js/select2.min.js', 'FacetedBrowse'));
$this->headScript()->appendFile($this->assetUrl('js/select2Fields.js', 'FacetedBrowse'));

In the latter I put my initialisation script for my single fields, e.g.:

$(document).ready(function() {
    $('.date-before-value').select2()
});

The scripts are loaded indeed and in the correct order (select2 first, then my script), and launching $('.date-before-value').select2() in my browser’s console changes the field to a select2 field. Nevertheless when the page loads the select2 property is not applied to my '.date-before-value element. Is there anything I’m missing about loading custom scripts in Omeka?

I moved my initialising code to view/faceted-browse/site/page/facets.phtml and that did the trick. Will I have to copy-paste the code every time I’ll update the plugin?

Yes, it appears that you’ll have to add your custom code every time you update the module.

This topic was automatically closed 250 days after the last reply. New replies are no longer allowed.