4

I am looking for a way to integrate Eventbrite with Joomla. I want to show a list of upcoming events that I have created. There are a number of default widgets available with Eventbrite (copy / paste html code) but they are pretty basic, so I think i'll have to create some sort of custom component / plugin using their API.

I'm not sure where to start with this development, and was wondering if anyone had similar experience, or can point me in the right direction. I've been experimenting with their API (using the Postman app) and I am able to retrieve a list of events using the following API endpoint

https://www.eventbriteapi.com/v3/users/me/events?token=mytoken

This returns a JSON list of events and details. I'm not sure how I take this and integrate it with Joomla though. Ideally I would like to be able to create a new module (Upcoming Events), and display this on various pages throughout my site.

There appears to be a lot of WP plugins available for Eventbrite, the only Joomla one I could find is called Combrite - although every time I enter my email address to receive the download link it never arrives.

Any help is appreciated.

3
  • 4
    A slimmed down version of what I use for my module: pastebin.com/AXV03VkK
    – Lodder
    Commented Jul 8, 2019 at 15:26
  • Thanks for this @Lodder This is very helpful, I was almost there. I should be able to build on your sample code. I'll need to add additional logic to deal with limiting events and only displaying the necessary details I require. Is it now just a matter of me creating a custom module, packaging it, and uploading to Joomla? All new to me :)
    – jonboy
    Commented Jul 8, 2019 at 15:40
  • Yeah the first module I made that fetched data from an API was a bit iffy at first for me. But once you've done one, it's easy after that. Hopefully you decide to use Javascripts fetch() method in the future once you feel more comfortable with APIs :)
    – Lodder
    Commented Jul 8, 2019 at 16:30

1 Answer 1

1

Thanks to @Lodder for providing the code below which is very helpful

<?php
 
defined('_JEXEC') or die('Restricted access');
 
use Joomla\CMS\Http\HttpFactory;
use Joomla\Registry\Registry;
 
class ModFooHelper
{
    public function __construct()
    {
        $this->baseurl = 'https://www.eventbriteapi.com/v3/users/me/events?token=mytoken';
    }
 
    public static function getEvents()
    {
        $httpOptions = [
            'userAgent' => "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n"
        ];
 
        $options = new Registry($httpOptions);
        $http    = HttpFactory::getHttp($options);
        $httpResult = $http->get($this->baseurl);
 
        $results = json_decode($httpResult->body);
 
        return $results;
    }
}

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.