- How do I install this bundle in a Laravel-based Sulu CMS project?
- Run `composer require depa/sulu-google-reviews-bundle`, register the bundle in `config/bundles.php`, import admin routes in `routes_admin.yaml`, and set your `GOOGLE_PLACES_API_KEY` and `GOOGLE_PLACE_ID` in `.env.local`. Finally, run migrations with `php bin/console doctrine:migrations:migrate` and clear the cache.
- What Laravel and Sulu CMS versions does this bundle support?
- The bundle requires PHP 8.2+, Sulu CMS 3.0+, Symfony 7.0+, and Laravel 8+. It’s tested for compatibility with these versions, but always verify against your specific Sulu LTS release for template conflicts.
- How do I fetch Google Reviews after installation?
- Use the CLI command `php bin/console sulu:google-reviews:fetch` to pull reviews. Add `--newest` to fetch only recent updates. The bundle filters reviews to show only those with 4+ stars by default, which can be adjusted in the configuration.
- Can I moderate or edit reviews directly in the Sulu admin panel?
- Yes, the bundle provides a dedicated admin interface in Sulu CMS for moderating reviews. You can approve, reject, or edit reviews directly from the admin panel, ensuring only high-quality content is displayed.
- What happens if the Google Places API is deprecated or changes?
- The bundle currently uses the Legacy Places API, which may face deprecation. Monitor Google’s updates and plan to migrate to the modern Places API. The bundle’s architecture allows for easy API key and endpoint configuration changes in `config/packages/depa_sulu_google_reviews.yaml`.
- How do I handle the database schema migration from `sulu_google_review` to `depa_googlereviews_reviews`?
- Run a manual migration script with `RENAME TABLE sulu_google_review TO depa_googlereviews_reviews` and `ALTER TABLE depa_googlereviews_reviews DROP COLUMN profile_photo_url` before updating. Backup your database first, and test in a staging environment to avoid downtime.
- Is this bundle compatible with multi-language Sulu setups?
- Yes, the bundle supports multi-language Sulu setups. The `emptyText` field in the block editor can be localized, and the block itself is designed to work seamlessly across different language contexts in Sulu CMS.
- How do I display Google Reviews on the frontend?
- Use the Sulu block `block--google-reviews` in your templates. The block is flexible and can be placed anywhere in your Sulu CMS layout. Ensure the block is included in your Sulu admin template directories as specified in the documentation.
- What are the performance implications of fetching reviews with the `--newest` flag?
- The `--newest` flag optimizes performance by fetching only recent reviews, reducing API calls and database load. For large volumes, consider batching or scheduling fetches during low-traffic periods to avoid impacting user experience.
- Are there alternatives to this bundle for displaying Google Reviews in Laravel?
- If you’re not using Sulu CMS, consider standalone Laravel packages like `spatie/google-maps-api` for fetching reviews and customizing a frontend display. For Sulu-specific needs, this bundle is the most integrated solution, offering admin moderation and block-based rendering out of the box.