Developer docs Core 2.2 · Pro 1.x

Search documentation

Search Core and Pro guides, including code examples.

PRO · COMMERCIAL

Styles & publishable views.

Install the complete review experience, choose an interface, and configure customer and team workflows.

← All Pro topics

Customization

Pro ships two framework-based Livewire template sets: Tailwind CSS 3/4 (the default) and Bootstrap 5.3. React and Vue use framework-neutral markup plus matching Tailwind-like and Bootstrap-like presets in the published shared stylesheet. All three interface families read the same theme setting. Your application must provide the selected framework stylesheet for Livewire; React and Vue do not require either framework at runtime. All visible strings use Laravel translation helpers.

The default Pro demo renders the shipped Tailwind templates using this application's compiled Tailwind CSS. The customized example uses application-owned list/gallery templates and this site's scoped visual styling, including score-based star rows. Both share the same reviews, configuration, permissions, and package services. The customized list extends Pro's component and changes its rendered view only, so its presentation persists during Livewire updates.

Choose Tailwind or Bootstrap

Both Livewire template sets are complete and independently publishable. All six Livewire components use the selected theme, including nested author/reply editors and private moderation/report queues. React and Vue receive that same value as data-rrp-theme and use the corresponding shared CSS preset. Theme selection does not enable features, change authorization, create tables, or affect invitation emails. Every interface includes the same core form validation, galleries, full-width rating breakdowns, review actions, and accessible controls.

Publish the configuration if you have not already done so:

php artisan vendor:publish --tag=review-rateable-pro-config

Select one theme in .env:

REVIEW_RATEABLE_PRO_THEME=tailwind
# Alternatively: REVIEW_RATEABLE_PRO_THEME=bootstrap
# Tailwind is the default if this variable is omitted.

If you already published an older config, add theme and themes from the package's current config file; do not overwrite unrelated settings. You can also set 'theme' => 'bootstrap' directly in config/review-rateable-pro.php.

Your application must provide the selected framework's stylesheet. Pro does not install either framework, inject CDN assets, or require Bootstrap's JavaScript. Livewire supplies Alpine; the photo viewer remains a native <dialog> rather than a Bootstrap JavaScript modal.

For Tailwind 4, register the shipped templates in your application stylesheet (paths below assume resources/css/app.css):

@import "tailwindcss";
@source "../../vendor/codebyray/laravel-review-rateable-pro/resources/views/themes/tailwind";
@source "../views/vendor/review-rateable-pro/themes/tailwind";

For Tailwind 3, include these paths in tailwind.config.js alongside your existing content entries:

export default {
    content: [
        './resources/**/*.blade.php',
        './vendor/codebyray/laravel-review-rateable-pro/resources/views/themes/tailwind/**/*.blade.php',
    ],
};

Rebuild your application assets after adding or editing Tailwind templates. For Bootstrap, load your application's Bootstrap 5.3 CSS through its existing asset pipeline; no Tailwind setup is needed.

Templates work straight from the package without publishing. To customize only the selected framework set, use its dedicated tag:

# Tailwind only
php artisan vendor:publish --tag=review-rateable-pro-tailwind-views

# Bootstrap only
php artisan vendor:publish --tag=review-rateable-pro-bootstrap-views

php artisan config:clear
php artisan view:clear

These publish to resources/views/vendor/review-rateable-pro/themes/tailwind/ or themes/bootstrap/. Each contains six livewire/ views plus partials/ for review details, replies, galleries, and small scoped behavior/layout styles (rating selection, thumbnails, and native dialogs). Laravel gives published theme files precedence over shipped theme files. There are no separate top-level livewire/ or partials/ template sets.

For a custom theme, copy an entire framework set into resources/views/vendor/review-rateable-pro/themes/custom/, update its partial includes from themes.bootstrap or themes.tailwind to themes.custom, and add a prefix to the existing themes map:

'theme' => env('REVIEW_RATEABLE_PRO_THEME', 'tailwind'),
'themes' => [
    'tailwind' => 'review-rateable-pro::themes.tailwind',
    'bootstrap' => 'review-rateable-pro::themes.bootstrap',
    'custom' => 'review-rateable-pro::themes.custom',
],

Select REVIEW_RATEABLE_PRO_THEME=custom and clear the config/view caches. Unknown theme keys or missing component templates fall back to Tailwind views, including any application overrides for those Tailwind files. Supply every component and its referenced partials for a consistent custom theme. Selection is server-side configuration, not a browser-controlled view path or a per-component attribute.

Publish all templates

Publish and edit the views when you need deeper customization:

php artisan vendor:publish --tag=review-rateable-pro-views

This publishes all Blade templates to resources/views/vendor/review-rateable-pro: both framework sets in themes/tailwind/ and themes/bootstrap/, and HTML/plain-text invitation emails in mail/. Laravel uses an application's published template in preference to the package template; you can keep only the files you need to override, and unmodified templates continue to use the package's copies.

Customize markup and styling while preserving Livewire bindings, action names, validation output, wire:key identifiers, and gallery Alpine/dialog behavior. Publishing views does not copy PHP component classes or replace server-side authorization. Each theme has a small inline themes/{theme}/partials/styles.blade.php stylesheet for specialized behavior/layout; apps with strict CSP should move it to their own allowed stylesheet and override that partial. Alpine's standard inline expressions also need to be allowed by your application's CSP setup.

Published overrides are application-owned and do not automatically receive later package view changes. Review template diffs when upgrading. Avoid publishing with --force unless you intend to overwrite local customizations; normal publishing skips existing files. After editing templates, use php artisan view:clear if your deployment serves cached views.

This version adds no application routes, login links, or authentication redirects. Wrap components in your own page/layout and provide your own sign-in experience.