level51 / silverstripe-tripadvisor
Simple integration of TripAdvisor location profiles and reviews for SilverStripe.
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 2
Type:silverstripe-module
Requires
- php: >=5.3.2
- ext-curl: *
This package is auto-updated.
Last update: 2024-10-25 07:12:06 UTC
README
This module provides a simple integration of TripAdvisor location profiles including awards, reviews, etc. Basically it is a wrapper for the Content API of TripAdvisor.
Official API documentation: https://developer-tripadvisor.com/content-api/
Maintainer
- Julian Scheuchenzuber js@lvl51.de
Installation
composer require level51/silverstripe-tripadvisor
If you don't like composer you can just download and unpack it to the root of your SilverStripe project.
Prerequisites
- Obtain a valid TripAdvisor API key at: https://developer-tripadvisor.com/content-api/request-api-access/
- Get the ID of your location. You won't find it anywhere on the location profile's page, just check the URL.
Setup
- Provide your API key and location profile ID in the "Trip Advisor" tab of systems settings section.
- Execute the "Sync TripAdvisor profile" action. This will create one
TripAdvisorLocationProfile
and threeTripAdvisorReview
records. Caution: This will drop the current profile data if already loaded. - Go ahead and use it in your code (example snippets):
// Fetch location profile and output number of visits $profile = TripAdvisorLocationProfile::current(); echo $profile->NumVisits; // Fetch reviews and render with custom template return TripAdvisorReview::get()->renderWith('ReviewGrid');
Notes
The logic uses the RestfulService
class and hence does API calls via cURL. It follows the API guidelines in terms of caching so you don't have to worry about that.
If you like to set up some continuous integration you can use the TripAdvisorRefreshTask
. Crontab in combination with the sake module could be a neat approach.
0 0 * * * cd /your/silverstripe/dir && sake dev/tasks/TripAdvisorRefreshTask > /dev/null 2>&1