PHPackages                             pavloniym/nova-iframe-page - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pavloniym/nova-iframe-page

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pavloniym/nova-iframe-page
==========================

A Laravel Nova tool.

v1.0.0(1y ago)3906↓40%1MITPHPPHP ^7.3|^8.0

Since Aug 25Pushed 1y ago1 watchersCompare

[ Source](https://github.com/pavloniym/nova-iframe-page)[ Packagist](https://packagist.org/packages/pavloniym/nova-iframe-page)[ RSS](/packages/pavloniym-nova-iframe-page/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Nova Iframe Page Tool for Laravel Nova
======================================

[](#nova-iframe-page-tool-for-laravel-nova)

This Laravel Nova package allows you to create pages with iframe content, making it easy to embed external websites or internal application pages within your Nova admin panel. The package is fully customizable, enabling you to adjust the iframe's appearance and behavior to suit your needs.

Features
--------

[](#features)

- **Customizable Iframe Source:** Set the source URL for the iframe content.
- **Adjustable Iframe Height:** Modify the height of the iframe to fit your layout.
- **Disable Scrolling:** Option to disable scrolling within the iframe.
- **Toggle Top Padding:** Control whether the iframe content has top padding.
- **Remove Iframe Border:** Option to remove the iframe's border for a cleaner look.
- **Border Radius:** Option to add or remove border radius around the iframe.
- **Custom Iframe Styles and Options:** Pass additional styles and options to the iframe.

Requirements
------------

[](#requirements)

- PHP 8.0 or higher
- Laravel 8.x, 9.x, or 10.x
- Laravel Nova 4.x

Installation
------------

[](#installation)

You can install the package via Composer:

```
composer require pavloniym/nova-iframe-page
```

Usage
-----

[](#usage)

### Registering the Routes

[](#registering-the-routes)

To register the routes for the iframe page, you need to modify your `NovaServiceProvider`. Add the following code to the `routes` method:

```
use Pavloniym\NovaIframePage\NovaIframePage;

class NovaServiceProvider extends NovaApplicationServiceProvider
{
    // ...

    /**
     * Register the Nova routes.
     *
     * @return void
     */
    protected function routes()
    {
        // ...
        // default nova routes

        NovaIframePage::make()
            ->setSrc('https://mycoolsite.com')
            ->setPath('custom-iframe-path')
            ->register();
    }

    // ...
}
```

### Adding the Tool to the Sidebar Menu

[](#adding-the-tool-to-the-sidebar-menu)

To add the iframe page tool to the Nova sidebar menu, modify the `tools` method in your `NovaServiceProvider` as follows:

```
use Pavloniym\NovaIframePage\NovaIframePage;

class NovaServiceProvider extends NovaApplicationServiceProvider
{
    // ...

    /**
     * Get the tools that should be listed in the Nova sidebar.
     *
     * @return array
     */
    public function tools()
    {
        return [
            NovaIframePage::make()
                ->setIcon('server')
                ->setName('My Cool Site')
                ->setPath('custom-iframe-path'),
        ];
    }

    // ...
}
```

### Customization Options

[](#customization-options)

The package provides several methods to customize the iframe page:

#### 1. Set the Iframe Source

[](#1-set-the-iframe-source)

Set the URL of the page you want to display in the iframe.

```
NovaIframePage::make()->setSrc('https://mycoolsite.com');
```

#### 2. Set the Height

[](#2-set-the-height)

You can adjust the height of the iframe using the `setHeight` method. The height can be any valid CSS height value.

```
NovaIframePage::make()->setHeight('600px');
```

#### 3. Disable Scrolling

[](#3-disable-scrolling)

If you want to disable scrolling within the iframe, use the `setNoScroll` method.

```
NovaIframePage::make()->setNoScroll(true);
```

#### 4. Disable Top Padding

[](#4-disable-top-padding)

To remove the default top padding of the iframe content, use the `setNoTopPadding` method.

```
NovaIframePage::make()->setNoTopPadding(true);
```

#### 5. Remove Iframe Border

[](#5-remove-iframe-border)

To remove the iframe's border, use the `setNoFrameBorder` method.

```
NovaIframePage::make()->setNoFrameBorder(true);
```

#### 6. Set Border Radius

[](#6-set-border-radius)

You can enable or disable the border radius around the iframe using the `setWithBorderRadius` method.

```
NovaIframePage::make()->setWithBorderRadius(true);
```

#### 7. Custom Iframe Styles

[](#7-custom-iframe-styles)

You can pass an array of styles to the iframe using the `setIframeStyles` method.

```
NovaIframePage::make()->setIframeStyles([
    'border' => '1px solid #ddd',
    'margin-top' => '20px',
]);
```

#### 8. Custom Iframe Options

[](#8-custom-iframe-options)

Additional iframe options can be passed using the `setIframeOptions` method.

```
NovaIframePage::make()->setIframeOptions([
    'sandbox' => 'allow-scripts allow-same-origin',
]);
```

### Example

[](#example)

Here's a complete example of how to configure and use the NovaIframePage tool in your Nova admin panel:

```
use Pavloniym\NovaIframePage\NovaIframePage;

class NovaServiceProvider extends NovaApplicationServiceProvider
{
    protected function routes()
    {
        Nova::routes()
            ->withAuthenticationRoutes()
            ->register();

        NovaIframePage::make()
            ->setPath('/custom-page')
            ->setSrc('https://example.com')
            ->setHeight('700px')
            ->setNoScroll(true)
            ->setNoTopPadding(true)
            ->setNoFrameBorder(true)
            ->setWithBorderRadius(false)
            ->setIframeStyles([
                'border' => '2px solid #333',
                'box-shadow' => '0 0 10px rgba(0, 0, 0, 0.5)',
            ])
            ->setIframeOptions([
                'sandbox' => 'allow-forms allow-popups',
            ])
            ->register();
    }

    public function tools()
    {
        return [
            NovaIframePage::make()
                ->setName('Custom Page')
                ->setPath('/custom-page'),
        ];
    }
}
```

In this example, the iframe page is configured to display a custom page from `https://example.com` with specific styles, options, and settings.

Conclusion
----------

[](#conclusion)

The Nova Iframe Page Tool for Laravel Nova provides a flexible way to embed external content directly within your Nova admin panel. With customizable settings and easy integration, you can enhance your admin interface by adding iframe pages tailored to your needs.

License
-------

[](#license)

This package is open-source software licensed under the [MIT license](LICENSE). Feel free to contribute, report issues, or suggest improvements!

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

625d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/60f2554666408e1fdb9afac6f2ad657382a942e4e9998fd90ee4f27cd32ee90f?d=identicon)[pavloniym](/maintainers/pavloniym)

---

Top Contributors

[![pavloniym](https://avatars.githubusercontent.com/u/17234942?v=4)](https://github.com/pavloniym "pavloniym (3 commits)")

---

Tags

laravelnova

### Embed Badge

![Health badge](/badges/pavloniym-nova-iframe-page/health.svg)

```
[![Health](https://phpackages.com/badges/pavloniym-nova-iframe-page/health.svg)](https://phpackages.com/packages/pavloniym-nova-iframe-page)
```

###  Alternatives

[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[digital-creative/conditional-container

Provides an easy way to conditionally show and hide fields in your Nova resources.

116593.8k4](/packages/digital-creative-conditional-container)[genealabs/laravel-overridable-model

Provide a uniform method of allowing models to be overridden in Laravel.

92398.0k2](/packages/genealabs-laravel-overridable-model)[inspheric/nova-defaultable

Default values for Nova fields when creating resources and running resource actions.

51174.8k1](/packages/inspheric-nova-defaultable)[murdercode/nova4-tinymce-editor

Boost your Laravel Nova with the TinyMCE editor.

17165.2k](/packages/murdercode-nova4-tinymce-editor)[yieldstudio/nova-google-autocomplete

A Laravel Nova Google autocomplete field.

12218.4k](/packages/yieldstudio-nova-google-autocomplete)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
