Loading...
 
Skip to main content

History: Bootstrap JavaScript JQuery

Preview of version: 15

Making BS3 useful with JavaScript

preliminary remark
Tiki uses jQuery 1.10.2 whilst Bootstrap users at the moment can use either 1.10.2 or 2.0.1. It is said, that one should use the last version of either one of both branches. So we are fine in the respect of jQuery compatibility.

To integrate Bootstrap into Tiki we have to add bootstrap.js to Tiki to make Bootstraps dropdown elements and the mobile navigation working. The first question is, where to store the bootstrap files ... I assume, that we will get it with the composer into the "vendors" directory, when we install via shell/SSH/SVN and that this will be the place aswell, when we install a packed Tiki via FTP. So assumably we will have a directory /vendors/bootstrap with all the content in it:

bootstrap directories
  • vendors/bootstrap
  • vendors/bootstrap/dist
  • vendors/bootstrap/dist/css
  • vendors/bootstrap/dist/fonts
  • vendors/bootstrap/dist/js
  • vendors/bootstrap/examples
  • vendors/bootstrap/examples/...
  • vendors/bootstrap/fonts
  • vendors/bootstrap/_includes
  • vendors/bootstrap/js
  • vendors/bootstrap/js/tests
  • vendors/bootstrap/_layouts
  • vendors/bootstrap/less
  • vendors/bootstrap/assets
  • vendors/bootstrap/assets/css
  • vendors/bootstrap/assets/ico
  • vendors/bootstrap/assets/js
  • vendors/bootstrap/assets/img

To integrate bootstrap.js into Tiki we have to add the file into the file /tiki-setup.php in the document root of the Tiki installation. This is done with the following line of code near the end of the file (somebody find a good place?):

Copy to clipboard
$headerlib->add_jsfile('vendors/bootstrap/dist/js/bootstrap.js');

It is possible to integrate the "Bootstrap Plugins" which sort out for example the drop down behaviour, one by one, but the easiest is to integrate the bootstrap.js because it contains all plugins. It would be further more not a big deal to set up a preference for Bootstrap and to load the .js file only when the preference ist active (tried today and worked). Do we need that? Code would be then:

Copy to clipboard
if ( $prefs<a class="wiki" href="'style_bootstrap_layout'" rel="">'style_bootstrap_layout'</a> == 'y' ) {<br />     $headerlib->add_jsfile('bootstrap/swfobject/swfobject.js') }

Pls mind, that the second version needed modification in
/lib/prefs/style.php and /templates/admin/include_look.tpl
aswell. That is pretty much it, what is necessary from the JavaScript/jQuery point of view to make Bootstrap running in Tiki.


What would be awesome and under the point of view of marketing and usability is a way to standardwise integrate external jQuery Plugins like for example responsive slideshows My idea was to implement a grafical interface in the admin area (maybe "look and feel"?), where the user simply writes the paths to the .js/jQuery plugins into an array - one line per path. The storage location could be recommended in /vendors/custom or a new /vendors_custom to keep some chance for consistency (nice for consultants etc.) and easier bug tracking. Workflow would be like this: Review some plugins and choose one with appropriate licence and jQuery version.

  • Upload the Plugin directory as is into
    /vendors/custom/myplugin or /vendors_custom/myplugin
  • Type the path vendors/custom/myplugin/whatsoever/myplugin.js into the array in
    tiki-admin.php?page=look -> Custom -> jQuery-Array-Box
  • Check, if you need to copy some css into /styles and maybe to
    @include it in /styles/mytheme.css
  • Should be Done!
     

There could be naming conflicts of variables and selector between different external .js files, but we could include a linktip to the doc.t.o and there provide a few hints how to deal with such iussues in general. More to write about .js in respect of Bootstrap? Well, go on ...

History

Advanced
Information Version
Mon 03 of Apr, 2023 03:43 GMT-0000 Gary Cunningham-Lee Categorized as Archived (Registered users only) due to outdated information. 20
View
Tue 05 of Nov, 2013 02:15 GMT-0000 Torsten Fabricius ML asked to rename for the purpose of SEO optimisation 19
View
Sun 03 of Nov, 2013 00:37 GMT-0000 Torsten Fabricius fix typo 18
View
Sun 03 of Nov, 2013 00:37 GMT-0000 Torsten Fabricius done for now 17
View
Sun 03 of Nov, 2013 00:15 GMT-0000 Torsten Fabricius added info - not yet finished 16
View
Thu 31 of Oct, 2013 20:37 GMT-0000 Torsten Fabricius 15
View
Thu 31 of Oct, 2013 20:19 GMT-0000 Torsten Fabricius it is even more pain 14
View
Thu 31 of Oct, 2013 20:18 GMT-0000 Torsten Fabricius it's a pain 13
View
Thu 31 of Oct, 2013 20:17 GMT-0000 Torsten Fabricius 12
View
Thu 31 of Oct, 2013 20:14 GMT-0000 Torsten Fabricius 11
View
Thu 31 of Oct, 2013 20:13 GMT-0000 Torsten Fabricius no comment 10
View
Thu 31 of Oct, 2013 20:12 GMT-0000 Torsten Fabricius no comment 9
View
Thu 31 of Oct, 2013 20:11 GMT-0000 Torsten Fabricius 8
View
Thu 31 of Oct, 2013 20:08 GMT-0000 Torsten Fabricius arrg WIEEESIEEEWIEEEG ... styling 7
View
Thu 31 of Oct, 2013 19:58 GMT-0000 Torsten Fabricius page style - I hate WYSIWYG!!!! aslways necessary to go through HTML a few times until it fits 6
View
Thu 31 of Oct, 2013 19:47 GMT-0000 Torsten Fabricius 5
View
Thu 31 of Oct, 2013 19:43 GMT-0000 Torsten Fabricius 4
View
Thu 31 of Oct, 2013 19:37 GMT-0000 Torsten Fabricius 3
View
Thu 31 of Oct, 2013 19:34 GMT-0000 Torsten Fabricius started the "bootstrap.js" page on themes.t.o 2
View
Tue 29 of Oct, 2013 02:39 GMT-0000 Torsten Fabricius startes with .js 1
View