2

I have been asked by a friend if I can make their existing Library db more modern and user friendly, whilst incorporating it into their existing website.

The existing db is a simple access db containing thousands of books and dvds (nursery school). They require a simple (but fast) search facility where they can search multiple datasets i.e books and/or dvds - think Twitter typeahead.js example here (http://twitter.github.io/typeahead.js/examples/#multiple-datasets)

They currently have a Joomla 3.x site which I created, and they would like a the new Library db to be incorporated 'within this' having a single login for the website and Library search.

Their requirements are that registered users/staff should be able to;

  • search for either books and/or dvds
  • add/edit existing records (preferably from the front-end)

My question is, what would be the best way to approach such a task?

I am able to create a stand along application that can accomplish this, using Twitter typeahead.js (http://twitter.github.io/typeahead.js/examples) and a stand alone database, however how would I incorporate this into the existing Joomla website?

Do I 'link to' this application from within Joomla, or would I need to import the Library db into Joomla then work from there?

This is quite new to me so I welcome any advice or ideas that anybody has. Also, if there is a better or more efficient way or accomplishing this task please let me know.

Ideally I would like to use Twitter typeahead.js as the functionality is much more impressive than the core Joomla search.

3 Answers 3

2

You can build everything as part of the component.

Not sure how the database structure looks like, you need to import it to MySQL (or another supported database), but if you could bring / adapt it to match Joomla needs (id, sorting, etc...), you can rely on JTable / JModelLegacy & Co. for CRUD operations, also in the front-end. => for this you need to build two views (see basic editing in com_banners).

For typeahead to work, you can create a controller that returns a raw / json response so that you can load the dataset remotely. Based on how fast this works, maybe some caching.

After using typeahead to get a string, you also need to perform the query itself and display the results. => two views, one for search results, one for showing an individual book / dvd.

1
  • Thanks for the info Valentin, I'm not sure what the db structure looks like either, however I am confident that I can arrange it in a way that Joomla should recognise. I am quite familiar with mysql and phpmyadmin. I am not too familiar with JTable / JModelLegacy & Co. for CRUD operations so I will need to research these a bit further. Again, thanks.
    – jonboy
    Jul 11, 2014 at 13:09
2

Perhaps a simple approach would be to import the Access records as Articles in the #__content table, and use the Categories and/or Tags to separate the Books/DVDs. This way you can leverage all the core search/sort/display features of Joomla without changing a line of code.

Additionally, there are endless extensions to search and otherwise work with core Joomla data such as RSS, Twitter and Facebook, etc. that would then be instantly available for your use.

3
  • I really like this idea thanks. I didn't realise this was even a possibility, however from what I gather from your answer it may be simple enough. It still however doesn't answer my initial requirement of wanting to use Twitter typeahead.js. However thanks again.
    – jonboy
    Jul 16, 2014 at 17:52
  • I'm not familiar with typeahead.js, but it looks like the jQuery autocomplete would do the same thing, and jQuery is already included in Joomla now.
    – GDP
    Jul 16, 2014 at 18:45
  • I've just recently done the same sort of thing with some televsion programming. The only complexity was when I started getting into custom fields for the articles, but that was highly specialized, so in short, it really can be as simple or as complex as you'd like.
    – GDP
    Jul 16, 2014 at 18:52
0

SobiPro is an excellent Multi-Directory extension. https://www.sigsiu.net/sobipro.html

You can create multiple sections, each one with its own field structure.

  • Books
  • DVDs

In a very short time, you can have the whole Multi-Directory solution working.

On the other hand, it's a multi-section component with dynamic fields, a full CCK, and a templating subsystem based on XSL. So, it has an additional level of complexity on top of Joomla.

At the end, I always choose it to implement catalogs. It's a proven solution already developed waiting to be customized, and the effort to work with it is smaller than developing a whole custom directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.